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 également utiliser vos environnements d'exécution Lambda préférés.
-
Créez une rubrique Amazon SNS.
-
Créez une fonction Lambda.
-
À 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 :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublishSNSMessage",
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:your-region:your-account-number:your-topic-name"
}
]
}
Remarque : Remplacez les paramètres your-region, your-account-number et your-topic-name par vos variables.
-
Sur la page Fonctions Lambda, choisissez l'onglet Code. Puis, dans Code source, copiez et collez le code suivant correspondant à l'action Publier 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:your-region:account-number:topic-name',Message="Test message")
print("Message published")
return(response)
-
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 :
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 ?