amazon-web-services - 为什么SNS没有触发我的lambda?

标签 amazon-web-services aws-lambda amazon-sns apex-framework

我有一个通过顶点创建的AWS lambda函数。我还创建了一个SNS主题,并通过terraform进行了订阅。

我的主题是:arn:aws:sns:ap-southeast-1:178284945954:fetch_realm_auctions

我有一个订阅:类型为arn:aws:sns:ap-southeast-1:178284945954:fetch_realm_auctions:2da1d182-946d-4afd-91cb-1ed3453c5d86lambda,端点为:arn:aws:lambda:ap-southeast-1:178284945954:function:wowauctions_get_auction_data

我已经确认这是正确的功能ARN。一切似乎都正确连接:

SNS picture

我手动触发SNS:

aws sns publish 
  --topic-arn arn:aws:sns:ap-southeast-1:178284945954:fetch_realm_auctions 
  --message '{"endpoint": "https://us.api.battle.net", "realm": "spinebreaker"}'


它返回消息ID,但没有调用发生。为什么?

最佳答案

我添加了一个内联策略以允许调用lambda:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1474873816000",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:ap-southeast-1:178284945954:function:wowauctions_get_auction_data"
            ]
        }
    ]
}


现在正在工作。

关于amazon-web-services - 为什么SNS没有触发我的lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689228/

相关文章:

amazon-web-services - 如何使用 HTTP 在 AWS EC2 实例上公开端口 8888

amazon-web-services - 删除 Lambda 不会重置版本号

amazon-web-services - 亚马逊 SNS : an offline mock

ios - 迁移到 aws 后如何使用推送通知

amazon-web-services - Terraform 环境 - 如何使其干燥

rest - 获取 415 - Postman post 方法中不支持的媒体类型

amazon-web-services - RDS 控制台中缺少创建 Aurora 只读副本选项

node.js - aws lambda 如何在 S3 中存储通过 https 检索到的图像

amazon-web-services - 资源处理程序返回消息 : "Error occurred while GetObject. S3 错误代码 : NoSuchKey. S3 错误消息:指定的键不存在

python - AWS Boto SNS 参数主题名称无效