发送SQS消息时调用Lambda

时间:2017-09-14 11:02:52

标签: amazon-web-services aws-lambda amazon-sqs amazon-cloudwatch

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

{
  "source": [
    "aws.sqs"
  ]
}

不幸的是,lambda从未被调用过。我已经确保lambda的角色具有SQS政策。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:7)

CloudWatch Events只能用于捕获services that generate events中的活动。

SQS不会生成事件。

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

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

答案 1 :(得分:0)

AWS最近引入了SQS作为Lambda的触发器,可以自动调用SQS中的消息。