发送 SQS 消息时调用 Lambda
Invoke Lambda when an SQS message is sent
我想在每次发送 SQS 消息时调用 lambda。我已尝试使用以下模式设置 Cloudwatch 事件的规则:
{
"source": [
"aws.sqs"
]
}
不幸的是,lambda 从未被调用过。我已经确保 lambda 的角色具有 SQS 策略。
我怎样才能做到这一点?
CloudWatch Events 只能用于捕获来自 services that generate events 的事件。
SQS 不生成事件。
实现您所寻找的目标的最简单方法是创建一个 SNS 主题并将 SQS 队列和 Lambda 函数订阅到该主题。然后,不是直接将消息发送到队列,而是将消息发布到主题,SNS 将其放入队列并调用 Lambda。
http://docs.aws.amazon.com/sns/latest/dg/SNS_Scenarios.html#SNSFanoutScenario
AWS 最近引入了 SQS 作为 Lambda 的触发器,可以自动调用 SQS 中的消息。
我想在每次发送 SQS 消息时调用 lambda。我已尝试使用以下模式设置 Cloudwatch 事件的规则:
{
"source": [
"aws.sqs"
]
}
不幸的是,lambda 从未被调用过。我已经确保 lambda 的角色具有 SQS 策略。 我怎样才能做到这一点?
CloudWatch Events 只能用于捕获来自 services that generate events 的事件。
SQS 不生成事件。
实现您所寻找的目标的最简单方法是创建一个 SNS 主题并将 SQS 队列和 Lambda 函数订阅到该主题。然后,不是直接将消息发送到队列,而是将消息发布到主题,SNS 将其放入队列并调用 Lambda。
http://docs.aws.amazon.com/sns/latest/dg/SNS_Scenarios.html#SNSFanoutScenario
AWS 最近引入了 SQS 作为 Lambda 的触发器,可以自动调用 SQS 中的消息。