Skip to content

lambda CLI

1. create, update, delete

aws lambda delete-function \
    --function-name <function_name>

aws lambda create-function \
    --function-name <function_name> \
    --runtime <runtime> \
    --role <role_arn> \
    --handler <handler_name> \
    --zip-file fileb://<path_to_deployment_package>

aws lambda list-functions

# get config
# ==================
aws lambda get-function-configuration \
    --function-name <function_name>

# update config
# ==================    
aws lambda update-function-configuration \
    --function-name <function_name> \
    --runtime <runtime> \
    --role <role_arn> \
    --handler <handler_name> \
    --memory-size <memory_in_mb> \
    --timeout <timeout_in_seconds>

# update code
# ==================
aws lambda update-function-code \
    --function-name MyLambdaFunction \
    --zip-file fileb://function.zip

# Downloads the deployment package of a Lambda function
# ======================================================
aws lambda get-function \
    --function-name <function_name>

2. invoke (sync + async)

#  Synchronous Invocation
# =======================
aws lambda invoke \
    --function-name <function_name> \
    --payload '<json_payload>' \
    <output_file>

# Asynchronous Invocation
# =======================
aws lambda invoke \
    --function-name MyLambdaFunction \ 
    --invocation-type Event \                          <<<
    --payload '{"key": "value"}' \
    response.json

3. Add trigger - S3 notification

# update lambda policy
# ==================
aws lambda add-permission \
    --function-name <function_name> \
    --action "lambda:InvokeFunction" \
    --principal s3.amazonaws.com \
    --source-arn arn:aws:s3:::<bucket_name> \
    --statement-id <unique_id>

# Add S3 triger
#==============
aws s3api put-bucket-notification-configuration \
    --bucket <bucket_name> \
    --notification-configuration file://notification.json

# notification.json    
{
  "LambdaFunctionConfigurations": [
    {
      "LambdaFunctionArn": "arn:aws:lambda:region:account-id:function:function-name",
      "Events": ["s3:ObjectCreated:*"]
    }
  ]
}

4. more

aws logs filter-log-events \
    --log-group-name /aws/lambda/<function_name> \
    --start-time <start_timestamp> \
    --end-time <end_timestamp>