通过 AWS 控制台查看和重新驱动 SQS 死信队列 (DLQ) 中的消息

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

我想查看并重新驱动 SQS 死信队列 (DLQ) 中的失败消息。可以直接通过AWS控制台完成吗?


PS:2021 年 12 月,AWS 宣布能够重新驱动 DLQ 中的失败消息。虽然我知道截至 2023 年 6 月编程重新驱动也可以通过 AWS SDK / CLI 获得,但对于我当前的用例,我更感兴趣的是快速手动重新驱动的方式

amazon-web-services amazon-sqs dead-letter
1个回答
0
投票

我尝试了 AWS 控制台的 SQS 部分,这是我的轶事发现(如果我错了,某些地方不完整,请纠正我)

  1. SQS 的主页列出了所有“主”队列及其配置的死信队列。例如在下面的屏幕截图中,我们看到 2 对主队列和相应的 DLQ。因此,转到 SQS 并在队列列表下找到需要执行重新驱动的相应 DLQ。同一页面还显示队列中的消息数量

      DLQ 中的
    • 可用消息 > 1 意味着某些请求无法处理,尽管默认情况下针对主队列配置了 3 次尝试;参考:近似接收计数
    • 正在传输的消息:这是指队列中已被消费者(例如 lambda)读取但尚未提交的消息数量。存在此规定是为了如果使用者在确认成功处理消息时崩溃或超时,则 SQS 会将该消息放回到队列中以进行另一次处理尝试。在 SQS 放弃并将消息移至 DLQ 之前,此循环最多重复 3 次(可配置),然后需要手动重新驱动 在我们触发消息重新驱动(如下所述)几秒钟后,DLQ 中可用的消息减少 1(因为 1 条消息从 DLQ 移动到相应的主队列),并且该消息暂时在主队列下显示为正在运行的消息(因为它正在由我们的 lambda 处理)。如果由于任何原因处理再次失败,则消息将再次放回 DLQ 中,以便可用于 DLQ 的消息再次增加 1,我们基本上回到了开始的位置
  2. 点击DLQ的名称,然后在打开的页面中
    • 要可视化队列中消息的统计数据
    • :检查“监控”选项卡可查看描述队列中消息的最大寿命、消息数量等信息的图表。 要更改图表的时间窗口、粒度或自动刷新间隔,请使用图表上方给出的控制面板
      • 还可以在指标中查看各个图表,以实现更细粒度的可视化
    • 要查看队列中的消息内容
    • :单击右上角的“发送和接收消息”按钮,然后在以下屏幕中单击“轮询消息”按钮
    • 要重新驱动队列中的消息
    • :单击“开始 DLQ 重新驱动”按钮,然后在以下屏幕中单击页面右下角的橙色 DLQ 重新驱动按钮(无需更改任何重新驱动设置)。
        提示:这是唯一需要管理员访问 AWS 控制台的操作,本答案中讨论的其余内容可以通过只读访问来完成
  3. Image-1:AWS 控制台 SQS 页面显示 SandFire 和 AEDU 的主队列和 DLQ 对

Image-2:(1) 查看“监控”选项卡以获取有关队列的统计信息;(2) 访问发送和接收消息以查看消息。 (3) 单击开始 DLQ 重新驱动以触发消息重新驱动(需要通过单击下一个屏幕上的重新驱动 DLQ 按钮进行确认)

Image-3:通过单击“投票消息”按钮查看消息

Image-4:通过单击 DLQ 重新驱动按钮重新驱动消息(无需更改任何设置)

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