STATUS: alpha
Moves messages from one sqs queue into another queue e.g. replay dlq to non-dlq
It does so by: 1. reading the "from" sqs queue in a batch of 1-10 messages 2. writes to the target "to" queue in same batches ^ 3. deletes from the origin "from" queue messages of the batches ^ 4. repeats 1-3 until the origin queue is empty, an error occurs, or the max iterations (1m) is exceeded
chmod +x sqsmv
to give execute privesAssuming you have AWS Named Profiles set up and both queues are under the same subaccount, this is how to run sqsmv
from the command line ( also see sqsmv --help
).
```
AWS_PROFILE=my-profile \
sqsmv \
--from-q
AWS_PROFILE=profile11111111 \ sqsmv \ -f'https://sqs.us-east-1.amazonaws.com/11111111/my-queue-dlq' \ -t'https://sqs.us-east-1.amazonaws.com/11111111/my-queue' ```
This program is very conservative with errors right now.
AWS_PROFILE=my-profile \
cargo run -- \
-f'https://sqs.us-east-1.amazonaws.com/<my-acct#>/my-queue-dlq' \
-t'https://sqs.us-east-1.amazonaws.com/<my-acct#>/my-queue'