Je suis curieux de savoir si nous pouvons créer un déclencheur sur un seau AWS S3 par programmation?Comment ajouter un déclencheur AWS-Lambda sur S3-Bucket avec CLI
Given est un S3-Bucket et une fonction AWS Lambda. La fonction AWS Lambda a été créée par CLI et peut être mise à jour/recréée à tout moment avec des commandes basées sur CLI.
aws lambda create-function \
--region us-east-1 \
--function-name encodeVideo \
--zip-file fileb:///tmp/encode_video.zip \
--role $LAMBDA_ROLE_ARN \
--handler encode_video.handler \
--runtime nodejs6.10 \
--timeout 10 \
--memory-size 1024
aws lambda add-permission \
--function-name encodeVideo \
--region us-east-1 \
--statement-id some-unique-id \
--action "lambda:InvokeFunction" \
--principal s3.amazonaws.com \
--source-arn arn:aws:s3:::**** \
--source-account ***********
Maintenant, je veux configurer un seau S3 qu'il invoquera la fonction Lambda automatiquement sur chaque nouvel objet qui a été créé. Pour l'instant je l'ai fait dans AWS Console dans le navigateur Web comme on peut le voir dans la capture d'écran. Mais je veux être capable de configurer tout le scénario avec des commandes CLI. Comment puis-je faire ceci?
J'ai compris qu'il a besoin de quelque chose comme:
aws s3api put-bucket-notification-configuration --region us-east-1 \
--bucket **** \
--notification-configuration file://encodeVideoConfiguration.json
Mais je ne pouvais pas comprendre ce que le contenu de encodeVideoConfiguration.json devrait être?