簡體   English   中英

AWS死信隊列消息上的原因屬性來過濾哪些重新發布到主隊列?

[英]Reason attribute on AWS Dead Letter Queue message to filter which to re-post to main queue?

當消息發送到 DLQ 時,是否有配置設置可以讓 lambda 或 SQS 添加原因屬性?

消息可能由於錯誤或限制而最終進入死信隊列。 在消息被限制的情況下,它不一定有任何問題,並且可以將其發送回主隊列以再次處理。 但是由於格式錯誤或數據錯誤而根本無法處理的消息不能被發送回主隊列,因為它會再次失敗。

DLQ Redrive back to source 將重新發布受限制的消息(在大多數情況下會成功),但它也會重新發布其他所有內容,我知道這會失敗。

但是沒有任何機制我可以根據消息到達 DLQ 的路徑來找到消息的標記。

我想做的是迭代 DLQ 並獲取被限制的消息並將它們放回主隊​​列中,而其他消息則保存在數據庫中。

有人有想法么?

我相信您需要自己在應用程序中實現此邏輯,因為目前無法自動添加消息屬性。 以下是您可以實現它的一種方法:

  • 在應用程序中,檢查錯誤。 如果可以重試錯誤,則將消息放回原始隊列。 或者讓可見性超時過期,以便消息自動添加回隊列。 您可以設置重新驅動閾值以限制發送到 DLQ 之前的重試次數。
  • 如果錯誤不可重試,請將其添加到故障隊列中,以便稍后檢查消息以進行調試。

使用此解決方案,您將獲得自動重試。 您可以同時監控 DLQ 和故障隊列,以便在這兩種故障情況下得到通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM