Je ne parviens pas à abonner ma fonction AWS Lambda à une notification d'événement Amazon S3 ou à une rubrique SNS AWS dans ma pile AWS CloudFormation. Lorsque je tente d'utiliser la ressource AWS::Lambda::EventSourceMapping, le message d'erreur suivant s'affiche :

« Unrecognized event source, must be kinesis or dynamodb stream ».

La ressource AWS::Lambda::EventSourceMapping est conçue pour les sources d'événements de type pull telles que les flux d'événements Amazon DynamoDB et Amazon Kinesis. Avec des sources d'événements telles que les notifications d'événement S3 ou les messages SNS, la source d'événement est chargée d'appeler la fonction Lambda.

Pour qu'une source d'événement soit en mesure d'appeler une fonction Lambda, la stratégie de ressource de la fonction doit autoriser la source d'événement. Pour obtenir la liste des sources d'événements prises en charge, consultez la page Sources d'événements prises en charge.

Dans un modèle AWS CloudFormation, ajoutez la stratégie de fonction Lambda à l'aide de la ressource AWS::Lambda::Permission. Par exemple, l'extrait de modèle suivant ajoute une stratégie de fonction Lambda basée sur une ressource pour autoriser une rubrique SNS à appeler une fonction Lambda :

"LambdaResourcePolicy": {

    "Type": "AWS::Lambda::Permission",

    "Properties": {

        "Function" : { "Ref" : "MyFunction" },

        "Principal": "sns.amazonaws.com",

        "Action": "Allow",

        "SourceArn" : { "Ref" : "MySNSTopic" }

    }

}

L'exemple précédent doit inclure une déclaration NotificationConfiguration S3 qui abonne la fonction Lambda au compartiment S3.

Pour une source d'événement de rubrique SNS, une stratégie de rubrique doit également être définie. Pour plus d'informations, consultez la section Configuration des autorisations entre comptes. Si aucune stratégie de rubrique n'est définie, la stratégie par défaut contient les autorisations requises.

Lambda, S3, SNS, push, événement, autorisations, AddPermission, stratégie de ressource, notification


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 09/02/2016

Date de mise à jour : 15/09/2016