Une fonction Lambda est déclenchée par des événements S3 et doit s'exécuter chaque fois qu'un compartiment spécifique contient des objets nouveaux ou modifiés. La fonction lit le nom du compartiment S3 et la clé d'objet à partir de l'événement pour récupérer le contenu de l'objet, l'analyser et écrire les résultats dans une table DynamoDB. Le rôle d'exécution de la fonction a les autorisations de lire le compartiment et d'écrire dans DynamoDB, mais lors des tests, la fonction ne s'exécute pas lorsque des objets sont ajoutés ou modifiés. Qu'est-ce qui résoudra ce problème ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Ajouter une politique basée sur les ressources à la fonction Lambda qui accorde à Amazon S3 l'autorisation d'invoquer la fonction pour le compartiment S3 spécifié..
Pourquoi c'est la réponse
La bonne réponse est d'ajouter une politique basée sur les ressources à la fonction Lambda. Pour qu'un service AWS comme S3 puisse déclencher une fonction Lambda, il doit avoir l'autorisation explicite d'invoquer cette fonction. Cette autorisation est accordée via une politique basée sur les ressources attachée à la fonction Lambda, spécifiant S3 comme principal et le compartiment source. Sans cette politique, S3 ne peut pas appeler la fonction, même si le rôle d'exécution de Lambda a les permissions nécessaires pour les opérations S3 et DynamoDB. Augmenter la mémoire ou l'espace /tmp ne résoudrait pas le problème de déclenchement initial, car la fonction ne s'exécute même pas. Configurer une destination OnFailure SQS est utile pour la gestion des erreurs après l'exécution, mais pas pour le problème de déclenchement.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise