从 lambda 事件或上下文中动态检索 SQS 队列 URL

我有一个lambda函数,它响应调用它的两个不同的SQS队列(第二个是回退队列),因此我想动态确定消息来自哪个队列,以便在处理完后将其删除。

我能够创建事件源映射以从两个队列中触发 lambda,但我无法看到如何干净地检索执行删除消息调用所需的队列 URL。我使用的是 AWS 高浪开发工具包。

事件消息的正文中有事件源,似乎我可以使用“获取队列”,但这将是一个额外的 API 调用。

避免这种情况的唯一方法(我能想到)是将两个队列 URL 作为环境变量传入,并使用事件源Arn 中的队列名称来查找它。

有没有更好的方法?上下文中是否隐藏了未记录的内容?


富国沪深
浏览 75回答 1
1回答

噜噜哒

如果您使用的是 lambda、SQS 和事件源映射,则不必从 sqs 中手动删除对象:当您的函数成功处理批处理时,Lambda 会从队列中删除其消息只需返回成功代码,该消息将自动从相关 SQS 队列中删除
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go