发送SQS消息时调用Lambda

FVo*_*Vod 1 amazon-sqs amazon-web-services amazon-cloudwatch aws-lambda

我想在每次发送SQS消息时调用lambda.我尝试使用以下模式设置Cloudwatch事件的规则:

{
  "source": [
    "aws.sqs"
  ]
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,lambda永远不会被调用.我已经确保lambda的角色具有SQS策略.我怎样才能做到这一点?

Mic*_*bot 7

CloudWatch Events只能用于从生成事件的服务中捕获事件.

SQS不会生成事件.

实现所需内容的最简单方法是创建SNS主题,并将SQS队列和Lambda函数订阅到主题.然后,不是直接向队列发送消息,而是将消息发布到主题,SNS将其放入队列并调用Lambda.

http://docs.aws.amazon.com/sns/latest/dg/SNS_Scenarios.html#SNSFanoutScenario