某个 Lambda 函数从配置了死信队列 (DLQ) 的 Amazon SQS 队列中消费消息。由于一个已修复的 bug,一些消息处理失败。开发人员现在希望重新处理这些失败的消息。开发人员应该采取哪种操作?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 StartMessageMoveTask API 将消息从死信队列移回原始 SQS 队列。.
为什么这是答案
正确答案是使用 StartMessageMoveTask API 将消息从死信队列移回原始 SQS 队列。StartMessageMoveTask API 专门用于将消息从源队列(例如 DLQ)移动到目标队列(例如原始 SQS 队列),这正是重新处理失败消息所需的。 使用 SendMessageBatch API 从 DLQ 读取消息并将其发送回原始 SQS 队列是可行的,但效率较低,需要自定义代码来处理消息的读取和重新发送,而 StartMessageMoveTask 提供了更简化的解决方案。 使用 ChangeMessageVisibility API 使 DLQ 中的消息在原始队列中再次可见是不正确的,因为 ChangeMessageVisibility 仅适用于消息仍在原始队列中且尚未被移至 DLQ 的情况。 使用 PurgeQueue API 从 DLQ 中删除消息并将其返回到原始 SQS 队列是错误的,PurgeQueue 会永久删除队列中的所有消息,而不是将它们移回原始队列。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡