AWS SQS 列出 SDK 中的触发器

问题描述 投票:0回答:2

我正在寻找一种方法来以编程方式识别与 SQS 队列关联的触发器。查看SQS sdk docs,这似乎不可能。我曾想过从另一端尝试,看来 Lambda ListEventSourceMappings 函数可能会执行我想要的操作,因为我能够为其提供队列 ARN。然而,这需要所有 lambda (*) 上的 ListSourceMappings 权限,这并不是真正理想的 - 尽管它不应该真的伤害,只是不是我想要的。我是否缺少另一种机制或另一种方法?

aws-lambda aws-sdk amazon-sqs aws-sdk-js
2个回答
2
投票

Lambda 轮询 SQS 队列。它在控制台中的显示方式并非如此,因为它们向您隐藏了一些详细信息,但在幕后,AWS Lambda 系统中运行着一个进程,该进程正在轮询您的 SQS 队列并在消息发送时调用您的 Lambda 函数。可用。

SQS 不会将消息推送到 Lambda(或其他任何地方)。 SQS 只是保存消息并将其分发给任何需要它们的人。因此,从 SQS 的角度来看,不知道消息消费者是谁。

鉴于上述情况,找到所需内容的唯一方法是使用 Lambda ListEventSourceMappings API。


0
投票

您可以使用队列 arn 调用 lambda list_event_source_mappings,无需指定函数名称,它将返回引用该队列的所有触发器。

© www.soinside.com 2019 - 2024. All rights reserved.