【发布时间】:2020-02-24 19:22:04
【问题描述】:
我正在实现自己的 webhook 服务,它将向订阅的 webhook 发送事件。
架构概述:
- 事件被推送到 SQS 队列中
- 一个 lambda 函数由 SQS 消息触发(事件源映射)
- 对于每个事件,我都会向订阅的 webhook 发出传出 http 请求
- 必须使用指数退避重试非 2xx 响应(在这种情况下,我会更改收到消息的消息可见性)
- 由于 SQS 调用的 lambdas 将在完成后自动删除消息,因此我在函数末尾抛出错误以防止自动删除
据我所知,更改消息可见性的调用正在成功。我想知道 SQS 调用的 lambda 中是否还有其他内容。在 lambda 失败后,它是否会再次在内部更改消息可见性?或者 SQS 调用的 lambdas 是否不尊重消息可见性更改(这对我来说真的没有任何意义)。好奇是否有人对这个问题有任何见解。我很惊讶地发现 lambda 成功后会自动删除消息,因为它让我的特定用例感觉有点笨拙 - 抛出错误以使 lambda 函数失败以防止消息被删除。
提前致谢!
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs