Aws lambda SNS不触发Lambda

Aws lambda SNS不触发Lambda,aws-lambda,amazon-sns,Aws Lambda,Amazon Sns,我创建了一个Lambda函数来执行curl函数,以便向slackwebhook发送消息。如果我在Lambda CLI中测试它,它会正常工作。我将SNS触发器链接到它,但它从未运行Lambda函数。我读过类似问题的帖子,它们大多导致触发权限。我认为我的还可以,因为你可以看到SNS触发器是在Lambda函数中设置的 为了测试SNS触发器,我还向它添加了订阅,以便向我发送电子邮件。当我使用“发布消息”测试SNS时,我确实收到了一封电子邮件,但Lambda没有被触发。我错过了什么 如图所示,SNS触发器

我创建了一个Lambda函数来执行curl函数,以便向slackwebhook发送消息。如果我在Lambda CLI中测试它,它会正常工作。我将SNS触发器链接到它,但它从未运行Lambda函数。我读过类似问题的帖子,它们大多导致触发权限。我认为我的还可以,因为你可以看到SNS触发器是在Lambda函数中设置的

为了测试SNS触发器,我还向它添加了订阅,以便向我发送电子邮件。当我使用“发布消息”测试SNS时,我确实收到了一封电子邮件,但Lambda没有被触发。我错过了什么

如图所示,SNS触发器是为Lambda函数添加的: 还有什么需要补充的吗

Lambda仪表板-

SNS仪表板-

Lambda代码-当我在CLI中运行test按钮时,它可以正常工作

import json

def lambda_handler(event, context):
    import subprocess

    # Send message to slack
    message = event['text']
    data = json.dumps({'text': 'test message'})
    subprocess.call([
        'curl',
        '-X', 'POST',
        '-H', 'Content-type: application/json',
        '--data', data,          'https://hooks.slack.com/services/T0xxxxxxxx/BLxxxxxxx/ysSl5xxxxxxxxxxxxxxx'
    ])

职能政策:

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "sns-us-east-xxxxxxxxxxxxx-Ernie_dev-CodeDeploy-Successful",
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": "lambda:invokeFunction",
      "Resource": "arn:aws:lambda:us-east-xxxxxxxxxxxxx:function:Slack-CodeDeploy_ernie-dev_success",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "arn:aws:sns:us-east-xxxxxxxxxxxxx:Ernie_dev-CodeDeploy-Successful"
        }
      }
    }
  ]
}