Skip to content

seppevs/move-sqs

Repository files navigation

move-sqs

Move all SQS messages from one queue to another, with an ability to modify the message

Build Status Coverage Status NPM Downloads Dependencies Known Vulnerabilities

Why?

This can be helpful when you want to reprocess all messages from a deadletter queue.

Installation

$ npm install -g move-sqs

Usage Help

$ move-sqs --help
  Move all SQS messages from one queue to another, with an ability to modify the message

  Usage
    $ move-sqs <input>

  Options
    --source-queue-url, -s  Source AWS SQS Queue URL
    --destination-queue-url, -d  Destination AWS SQS Queue URL
    --region, -r  AWS Region
    --access-key-id, -k  AWS Access Key ID
    --secret-access-key, -S AWS Secret Access Key
	--merge-json-message-with, -o (OPTIONAL) Merge the json message body with a given json string 
	

Examples

Basis usage:

$ move-sqs --sourceQueueUrl \"https://sqs.eu-west-1.amazonaws.com/123456789012/from-queue" --destinationQueueUrl "https://sqs.eu-west-1.amazonaws.com/123456789012/to-queue" --region "eu-west-1" --accessKeyId "YourAwsAccessKeyId" --secretAccessKey "YourAwsSecretKey"

With --merge-json-message-with

$ move-sqs --sourceQueueUrl "https://sqs.eu-west-1.amazonaws.com/123456789012/from-queue" --destinationQueueUrl "https://sqs.eu-west-1.amazonaws.com/123456789012/to-queue" --region "eu-west-1" --accessKeyId "YourAwsAccessKeyId" --secretAccessKey "YourAwsSecretKey" --merge-json-message-with "{\"someAttribute\": \"weWantToChangeOrSet\"}"

The --merge-json-message-with argument is optional.

You can use it to modify the message body. The tool will parse the message body as json + parse your input as json. Then it will perform a merge of the two and send the result to the destination queue.

About

Move all SQS messages from one queue to another, with an ability to modify the message in flight

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published