Ma notification d'événement Amazon Simple Storage Service (Amazon S3) n'appelle pas ma fonction AWS Lambda. Ou bien, je reçois une erreur lorsque j'essaie de créer une notification d'événement Amazon S3 pour appeler ma fonction Lambda. Puis-je utiliser AWS Systems Manager Automation pour résoudre les problèmes de notification d'événement Amazon S3 avec Lambda ?
Brève description
Pour résoudre les problèmes lors de l'envoi de notifications d'événements Amazon S3 à Lambda, utilisez le runbook Systems Manager Automation AWSSupport-TroubleshootLambdaS3Event.
Le runbook vérifie si une configuration d'événement existe pour la fonction Lambda et les valeurs de paramètres du compartiment Amazon S3 que vous saisissez. Si une configuration d'événement existe, le runbook vérifie que la configuration, les politiques de ressources et les autorisations sont correctes. La sortie du runbook fournit les commandes de l'AWS Command Line Interface (AWS CLI) qui vous permettent d'ajouter les politiques de ressources ou les autorisations requises.
Remarque : si la notification d'événement Amazon S3 n'est plus nécessaire, une bonne pratique consiste à la supprimer.
Solution
1. Ouvrez la console AWS Systems Manager.
2. Dans le panneau de navigation, sous Change Management (Gestion des modifications), choisissez Automation.
3. Choisissez Exécuter l'automatisation.
4. Dans l'onglet Owned by Amazon (Propriété d'Amazon), dans la zone de recherche de Automation document (document Automation), saisissez et recherchez AWSSupport-TroubleshootLambdaS3Event.
5. Cochez la case en haut à droite de la carte AWSSupport-TroubleshootLambdaS3Event. Ensuite, choisissez Next (Suivant).
6. Dans la sectionInput parameters (Paramètres d'entrée), procédez comme suit :
Pour AutomationAssumeRole, saisissez un rôle AWS Identity and Access Management (IAM) pour le runbook à assumer qui inclut les autorisations lambda:GetPolicy et s3:GetBucketNotification.
Pour LambdaFunctionArn, saisissez l'Amazon Resource Name (ARN) de la fonction Lambda.
Pour S3BucketName, saisissez le nom du compartiment Amazon S3.
7. Choisissez Execute (Exécuter).
Remarque : si le résultat suggère de valider et de configurer la concurrence de votre fonction Lambda, consultez Appel asynchrone et Mise à l'échelle des fonctions AWS Lambda.
Informations connexes
Pourquoi ma notification d'événement Amazon S3 n'appelle-t-elle pas ma fonction Lambda ?
Pourquoi l'erreur « Unable to validate the following destination configurations » (Impossible de valider les configurations de destination suivantes) se produit-elle lors de la création d'une notification d'événement Amazon S3 permettant d'appeler ma fonction Lambda ?