J'essaie de m'abonner à un sujet SNS avec une fonction lambda comme point de terminaison.Abonnement à un sujet SNS avec lambda comme point de terminaison
En essayant via la console AWS, cela fonctionne parfaitement bien. Un abonnement est ajouté dans SNS-> Abonnements qui à son tour ajoute également un déclencheur à la fonction lambda dans Lambda-> Fonctions -> [nom_fonction] -> Déclencheurs
En essayant la même chose via boto3 ou AWS cli, il ajoute de nouvelles abonnement, mais aucun déclencheur n'est ajouté dans Lambda-> Fonctions -> [nom_fonction] -> Déclencheurs. Par conséquent, la fonction lambda n'est pas déclenchée pour ce sujet SNS.
import boto3
client = boto3.client('sns')
sns_topic_arn = '<sns_topic_arn>'
lambda_fn_arn = '<lambda_fn_arn>'
response = client.subscribe(TopicArn=sns_topic_arn,Protocol='lambda',
Endpoint=lambda_fn_arn)
J'ai vérifié que sns_topic_arn et lambda_fn_arn sont corrects. Ai-je raté quelque chose?
Je dois admettre que je ne sais pas grand-chose à propos de SNS ou lambda. J'essaie juste de suivre docs, et de tirer quelque chose ensemble. 1. J'essaie d'utiliser confirm_subscription dans boto3, mais je n'arrive pas à savoir où je recevrai le jeton temporaire envoyé à la fonction lambda. 2. J'ai vérifié la réponse de l'API d'abonnement, c'est valide. 3. Comment ajouter des autorisations suffisantes. Boto3 docs ne parle pas beaucoup de cette API. –
Problème avec autorisation. http://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.add_permission Ceci l'a corrigé. –
Génial. Merci de confirmer. – Karthikeyan