gpt4 book ai didi

amazon-web-services - 使用 AWS::SNS::Subscription 后是否还需要添加触发器?

转载 作者:行者123 更新时间:2023-12-03 07:30:04 24 4
gpt4 key购买 nike

我有一个 SNS 主题,定义如下

  SlmExceedenceTopic:
Type: AWS::SNS::Topic
Properties:
TopicName:
Fn::Sub: ${AWS::StackName}-slm-exceedence-topic
Tags:
- Key: Environment
Value: !Ref Environment

我希望在 SNS 中收到通知后执行 lambda 函数 ExceedenceProcessor。因此我添加了以下订阅

ExceedenceProcessorSubscription:
Type: AWS::SNS::Subscription
Properties:
Endpoint:
Fn::GetAtt: ExceedenceProcessor.Arn
Protocol: lambda
TopicArn: !Ref SlmExceedenceTopic

这正确地添加了订阅,我什至可以从 SNS 订阅中看到它。但是,我的函数从未被执行。只有当我手动向针对 SNS 的 Lambda 函数添​​加触发器时,我才能让它执行。仅添加订阅还不够吗?

最佳答案

“用户”不调用 Lambda 函数。相反,Amazon SNS 服务调用 Lambda 函数。这就是为什么错误显示 User: sns.amazonaws.com is notauthorized

您应该在 Lambda 函数中添加权限以允许 Amazon SNS 调用它:

Amazon Lambda permissions

如果您的 CloudFormation 模板正在创建 AWS Lambda 函数,它可以使用 AWS::Lambda::Permission - AWS CloudFormation 添加这些权限。 .

关于amazon-web-services - 使用 AWS::SNS::Subscription 后是否还需要添加触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76166845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com