Comment publier un message dans une rubrique Amazon SNS à l'aide d'une fonction Lambda ?

Lecture de 2 minute(s)
0

Je souhaite publier un message dans une rubrique Amazon Simple Notification Service (Amazon SNS) à partir d'une fonction AWS Lambda.

Résolution

Suivez ces étapes pour envoyer un message à une rubrique Amazon SNS à l'aide d'une fonction Lambda.

**Remarque :**L'exemple présenté dans cet article utilise un environnement d'exécution Python, mais vous pouvez utiliser vos environnements d'exécution Lambda préférés.

1.    Créez une rubrique Amazon SNS.

2.    Créez une fonction Lambda.

3.    À partir de la fonction Lambda, assurez-vous que le rôle d'exécution Lambda dispose des autorisations nécessaires pour publier le message SNS, comme suit :

Remarque : Remplacez les paramètres your-region, your-account-number et your-topic-name par vos variables.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublishSNSMessage",
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:<your-region>:<your-account-number>:<your-topic-name>"
    }
  ]
}

4.     Choisissez l’onglet Code. Ensuite, dans Code source, copiez et collez le code suivant correspondant à l'action Publish Boto3 dans l'éditeur de code :

import json
import boto3
client = boto3.client('sns')
def lambda_handler(event, context):
   response = client.publish(TopicArn='arn:aws:sns:<region>:<account-number>:<topic-name>',Message="Test message")
   print("Message published")
   return(response)

5.    Testez votre fonction Lambda.

Si votre fonction Lambda est connectée à un Amazon Virtual Private Cloud (Amazon VPC), effectuez l'une des opérations suivantes :

Si votre fonction Lambda nécessite un accès à Internet, assurez-vous de l'autoriser. Pour plus d'informations, consultez Comment donner accès à Internet à une fonction Lambda connectée à un Amazon VPC ?

-ou-

Pour les réseaux privés, créez un point de terminaison Amazon VPC pour Amazon SNS dans le même VPC. Pour plus d'informations, consultez Création d'un point de terminaison Amazon VPC pour Amazon SNS.

Informations connexes

Pourquoi un message d'erreur d'autorisation s'affiche-t-il lorsque j'essaie d'inscrire ma fonction Lambda à ma rubrique Amazon SNS ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an