SQS メッセージの Redrive (デッドレター再処理)¶
デッドレターキューからメッセージを受信し、元のキューに送信することで再処理をおこなうツールです。
メッセージを受信・削除しながらおこなうため、実行には注意が必要です。別々におこなう方法は、こちらを参照。
制限¶
- メッセージ本文と、FIFO キューの場合は MessageGroupId が維持されます。その他は未対応です。
HOWTO¶
-
以下のスクリプトを用意する。
-
AWS SDK for Python (boto3) をインストールする。
shell pip install boto3
-
以下のコマンドを実行する。
bash aws-sqs-redrive.py --delete \ --src-queue-name (受信元 SQS キュー名) \ --dst-queue-name (送信先 SQS キュー名)
--delete
をつけないと元のキューにメッセージが残ります。