AWS Lambda S3 Trigger Configuration using AWS CLI : A Step-by-Step Guide

To set up an Amazon S3 trigger for an AWS Lambda function using the AWS CLI, you can use the aws lambda add-permission and aws s3api put-bucket-notification-configuration commands.

First, you will need to grant permission for the S3 bucket to invoke the Lambda function using the aws lambda add-permission command:

aws lambda add-permission \ --function-name MyFunction \ --action "lambda:InvokeFunction" \ --principal s3.amazonaws.com \ --source-arn arn:aws:s3:::my-bucket \ --statement-id s3-trigger

This will grant permission for the my-bucket S3 bucket to invoke the MyFunction Lambda function. The statement-id is a unique identifier for this permission statement, and can be any string that you choose.

Next, you can use the aws s3api put-bucket-notification-configuration command to set up the S3 trigger:

aws s3api put-bucket-notification-configuration \ --bucket my-bucket \ --notification-configuration '{ "LambdaFunctionConfigurations": [ { "LambdaFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction", "Events": ["s3:ObjectCreated:*"], "Filter": { "Key": { "FilterRules": [ { "Name": "prefix", "Value": "test-" }, { "Name": "suffix", "Value": ".txt" } ] } } } ] }'

This will add a permission to the MyFunction Lambda function to allow it to be invoked by the s3.amazonaws.com principal (i.e., S3). It will also configure the my-bucket S3 bucket to send a notification to the

The post AWS Lambda S3 Trigger Configuration using AWS CLI : A Step-by-Step Guide appeared first on Abhay Singh.