我有一个lambda函数,它响应调用它的两个不同的SQS队列(第二个是回退队列),因此我想动态确定消息来自哪个队列,以便在处理完后将其删除。我能够创建事件源映射以从两个队列中触发 lambda,但我无法看到如何干净地检索执行删除消息调用所需的队列 URL。我使用的是 AWS 高浪开发工具包。事件消息的正文中有事件源,似乎我可以使用“获取队列”,但这将是一个额外的 API 调用。避免这种情况的唯一方法(我能想到)是将两个队列 URL 作为环境变量传入,并使用事件源Arn 中的队列名称来查找它。有没有更好的方法?上下文中是否隐藏了未记录的内容?
1 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
如果您使用的是 lambda、SQS 和事件源映射,则不必从 sqs 中手动删除对象:当您的函数成功处理批处理时,Lambda 会从队列中删除其消息
只需返回成功代码,该消息将自动从相关 SQS 队列中删除
- 1 回答
- 0 关注
- 74 浏览
添加回答
举报
0/150
提交
取消