Sign inSign up

nanzhoumails/lambda-reactor-exec

By nanzhoumails

•Updated about 7 years ago

Executable images for the Lambda Reactor Project.

Image
0

821

nanzhoumails/lambda-reactor-exec repository overview

⁠Run The Service

sudo docker pull nanzhoumails/lambda-reactor-exec:debug
sudo docker pull nanzhoumails/lambda-reactor-exec:latest
sudo docker run -v /var/run/docker.sock:/var/run/docker.sock -e HOST_IP=10.6.201.127 -p 8081-8082:8081-8082 --name lambda_reactor_demo nanzhoumails/lambda-reactor-exec:debug 

⁠Environment Variables

export LAMBDA_REACTOR_LAMBDA_ENDPOINT=http://x.x.x.x:8082
export LAMBDA_REACTOR_S3_ENDPOINT=http://x.x.x.x:8081

⁠Standalone Lambda

# list functions
aws lambda list-functions --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}

# create function
aws lambda create-function --function-name lambda_add_two_nums --zip-file fileb:////Users/nzhou/Desktop/AWSCLI_Test/lambda_add_two_nums.py.zip --handler lambda_add_two_nums.my_handler --runtime python3.7  --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT} --role fake

# get function
aws lambda get-function --function-name lambda_add_two_nums --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}

# direct invocation
aws lambda invoke --function-name lambda_add_two_nums --payload '{"argv1":1, "argv2":10021 }' --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}  ./Desktop/output.txt && cat ./Desktop/output.txt

# delete function
aws lambda delete-function --function-name lambda_add_two_nums --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}

# list functions
aws lambda list-functions --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}

⁠Standalone S3

# list buckets
aws s3api list-buckets  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

# create bucket
aws s3api create-bucket --bucket bucket_by_awscli --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

aws s3api list-buckets  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

# create another bucket
aws s3api create-bucket --bucket bucket_by_awscli2 --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

aws s3api list-buckets  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

⁠S3 Invokes Lambda

# list buckets
aws s3api list-buckets  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

# create functions
aws lambda create-function --function-name lambda_s3_create_object --zip-file fileb:////Users/nzhou/Desktop/AWSCLI_Test/lambda_s3_create_object.py.zip --handler lambda_s3_create_object.handler --runtime python3.7 --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT} --role fake

aws lambda create-function --function-name lambda_s3_delete_object --zip-file fileb:////Users/nzhou/Desktop/AWSCLI_Test/lambda_s3_delete_object.py.zip --handler lambda_s3_delete_object.handler --runtime python3.7 --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT} --role fake

# list functions
aws lambda list-functions --endpoint-url ${LAMBDA_REACTOR_LAMBDA_ENDPOINT}

# put bucket notification configuration
aws s3api put-bucket-notification-configuration --bucket bucket_by_awscli --notification-configuration file:////Users/nzhou/Desktop/AWSCLI_Test/config.json --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

{
  "LambdaFunctionConfigurations": [
    {
      "LambdaFunctionArn": "lambda_s3_create_object",
      "Events": ["s3:ObjectCreated:Put"],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "prefix",
              "Value": "images"
            }
          ]
        }
      }
    },
    {
      "LambdaFunctionArn": "lambda_s3_delete_object",
      "Events": ["s3:ObjectRemoved:*"],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "prefix",
              "Value": "images"
            },
            {
              "Name": "suffix",
              "Value": "jpg"
            }
          ]
        }
      }
    }
  ]
}

# put an object
# nothing happens
aws s3api put-object --bucket bucket_by_awscli --key wrong_prefix.txt  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}
# invoke a function
aws s3api put-object --bucket bucket_by_awscli --key images001.txt  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

# delete an object
# nothing happens
aws s3api delete-object --bucket bucket_by_awscli --key images001.txt  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}
# invoke a function
aws s3api delete-object --bucket bucket_by_awscli --key images001.jpg  --endpoint-url ${LAMBDA_REACTOR_S3_ENDPOINT}

Tag summary

Content type

Image

Digest

Size

1 GB

Last updated

about 7 years ago

docker pull nanzhoumails/lambda-reactor-exec