Comment configurer les notifications d'événement Amazon S3 pour appeler une fonction Lambda qui se trouve dans un autre compte AWS ?

Dernière mise à jour : 08/06/2021

Je souhaite que mon compartiment Amazon Simple Storage Service (Amazon S3) appelle une fonction AWS Lambda dans un autre compte AWS. Comment procéder ?

Brève description

Pour que votre compartiment Amazon S3 appelle une fonction Lambda dans un autre compte AWS, procédez comme suit :

1.    Mettez à jour la stratégie d'autorisations basée sur les ressources de votre fonction Lambda pour accorder l'autorisation d'appel à Amazon S3.

2.    Créez une notification d'événement Amazon S3 qui appelle votre fonction Lambda.

Important : la fonction Lambda doit se trouver dans la même région AWS que votre compartiment Amazon S3. Pour plus d'informations sur la migration des fonctions, consultez Comment migrer une fonction Lambda vers un autre compte AWS ou une autre région à l'aide de la console Lambda ?

Solution

Remarque : vous devez disposer des informations suivantes pour effectuer cette procédure :

Mise à jour de la stratégie d'autorisations basée sur les ressources de votre fonction Lambda pour accorder l'autorisation d'appel à Amazon S3

1.    Ouvrez la page Functions (fonctions) sur la console Lambda à l'aide du compte AWS dans lequel se trouve votre fonction Lambda.

2.    Sélectionnez le nom de la fonction Lambda que vous souhaitez appeler avec Amazon S3.

3.    Dans l'onglet Configuration, choisissez Permissions (Autorisations).

4.    Dans le volet Resource-based policy (Stratégie basée sur les ressources), sélectionnez Add permissions (Ajouter des autorisations).

5.    Dans le volet Policy statement (Déclaration de stratégie), sélectionnez AWS service (service AWS). La liste déroulante Service s'affiche.

6.    Dans la liste déroulante Service, sélectionnez S3. D'autres champs de texte s'affichent.

7.    Pour Source account (Compte source), entrez l'ID de compte AWS du compte qui héberge votre compartiment Amazon S3.

8.    Pour Source ARN (ARN Source), entrez l'ARN de votre compartiment Amazon S3. Utilisez le format suivant :

Important : remplacez bucket_name par le nom de votre compartiment Amazon S3.

arn:aws:s3:::bucket_name

9.    Pour Action, sélectionnez lambda:InvokeFunction dans la liste déroulante.

10.    Pour Statement ID (ID de déclaration), entrez un ID de déclaration unique pour différencier la déclaration que vous créez dans la stratégie.

11.    Sélectionnez Save (Enregistrer).

Remarque : pour plus d'informations, consultez Utilisation des stratégies basées sur les ressources pour AWS Lambda.

Création d'une notification d'événement Amazon S3 qui appelle votre fonction Lambda

1.    Suivez les instructions de la section Activation et configuration des notifications d'événement à l'aide de la console Amazon S3.

2.    Testez la configuration en suivant les instructions de la section Test avec le déclencheur S3 du Didacticiel : Utilisation d'un déclencheur Amazon S3 pour appeler une fonction Lambda. Si votre fonction n'est pas appelée par la notification d'événement, suivez les instructions de la section Pourquoi ma notification d'événement Amazon S3 n'appelle-t-elle pas ma fonction Lambda ?


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?