Amazon web services 以lambda为端点订阅SNS主题

Amazon web services 以lambda为端点订阅SNS主题,amazon-web-services,amazon-ec2,aws-lambda,boto3,amazon-sns,Amazon Web Services,Amazon Ec2,Aws Lambda,Boto3,Amazon Sns,我正在尝试订阅一个以lambda函数为端点的SNS主题 通过AWS控制台进行尝试时,效果非常好。在SNS->Subscriptions中添加订阅,而SNS->Subscriptions又在lambda->Functions->[function\u name]->Triggers中向lambda函数添加触发器 在通过boto3或AWS cli尝试相同的操作时,它会添加新的订阅,但不会在Lambda->Functions->[function\u name]->Triggers中添加触发器。 因此

我正在尝试订阅一个以lambda函数为端点的SNS主题

通过AWS控制台进行尝试时,效果非常好。在SNS->Subscriptions中添加订阅,而SNS->Subscriptions又在lambda->Functions->[function\u name]->Triggers中向lambda函数添加触发器

在通过boto3或AWS cli尝试相同的操作时,它会添加新的订阅,但不会在Lambda->Functions->[function\u name]->Triggers中添加触发器。 因此,此SNS主题不会触发lambda函数

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)
导入boto3
client=bot3.client('sns')
sns_topic_arn=“”
lambda_fn_arn=“”
response=client.subscribe(TopicArn=sns\u topic\u arn,Protocol='lambda',
端点=lambda_fn_arn)
我确保sns_topic_arn和lambda_fn_arn是正确的。 我错过什么了吗

  • lambda端点是否使用确认消息中的令牌调用ConfirmSubscription操作?还请注意,这些确认令牌是临时的,仅在三天内有效。你在提神吗

  • 您能否检查来自subscribe API的响应,并查看该响应是否有效,以及它是否有SubscriptionArn

  • 另外,您是否通过boto3客户端的add_权限API添加了足够的权限,以便它可以触发lambda


  • 参考资料:关于API文档和更多细节,我承认我对SNS或lambda了解不多。我只是想按照医生的指示做点什么。1.我试图在boto3中使用确认订阅,但我无法确定在哪里接收发送到lambda函数的临时令牌。2.我检查了订阅API的响应,它是有效的。3.如何添加足够的权限。Boto3文档对该API没有太多说明。问题在于权限。这把它修好了,太好了。谢谢你的确认。