我有一个通过顶点创建的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。一切似乎都正确连接:

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

我手动触发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/

10-12 06:55