{"id":15595450,"url":"https://github.com/cdimascio/sqs-replay","last_synced_at":"2026-04-28T22:32:06.589Z","repository":{"id":46775108,"uuid":"403682208","full_name":"cdimascio/sqs-replay","owner":"cdimascio","description":"♻️ CLI that replays AWS SQS messages between queues.","archived":false,"fork":false,"pushed_at":"2022-07-04T16:27:16.000Z","size":118,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-04T10:57:20.791Z","etag":null,"topics":["aws","cli","replay","sqs"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdimascio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-06T16:00:07.000Z","updated_at":"2021-10-05T01:13:47.000Z","dependencies_parsed_at":"2022-08-27T14:47:01.347Z","dependency_job_id":null,"html_url":"https://github.com/cdimascio/sqs-replay","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdimascio%2Fsqs-replay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdimascio%2Fsqs-replay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdimascio%2Fsqs-replay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdimascio%2Fsqs-replay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdimascio","download_url":"https://codeload.github.com/cdimascio/sqs-replay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246177296,"owners_count":20735937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cli","replay","sqs"],"created_at":"2024-10-03T01:00:23.509Z","updated_at":"2026-04-28T22:32:01.568Z","avatar_url":"https://github.com/cdimascio.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/install-homebrew-yellow\"/\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/cdimascio/sqs-replay/main/assets/sqs-replay-logo.png\"/\u003e\n\u003c/p\u003e\n\n## Install\n\nMacOS\n\n```shell\nbrew install cdimascio/tap/sqs_replay\n```\n\n## Usage\n\n```shell\nsqs-replay \\\n  --source 'https://host/MyDLQueue' \\\n  --dest 'https://host/MyQueue' \\\n  --max-messages 200 \\\n  --verbose\n```\n\nNote: exclude `max-messages` to replay all\n\n## Options\n\n```shell\nUSAGE:\n    sqs-replay [FLAGS] [OPTIONS] --source \u003chttps://sqs-region.amazonaws.com/account-id/quene-name\u003e --dest \u003chttps://sqs-region.amazonaws.com/account-id/quene-name\u003e\n\nFLAGS:\n    -h, --help       Print help information\n    -v, --verbose    Outputs the contents of each SQS message replayed.\n    -V, --version    Print version information\n\nOPTIONS:\n    -d, --dest \u003chttps://sqs-region.amazonaws.com/account-id/quene-name\u003e\n            The destination SQS url.\n\n    -m, --max-messages \u003c10\u003e\n            The maximum number of messages to replay.\n\n    -r, --region \u003cus-west-2\u003e\n            The AWS region\n\n    -s, --source \u003chttps://sqs-region.amazonaws.com/account-id/quene-name\u003e\n            The source SQS url.\n\n    -x, --dedup-regex \u003cid\":\"(.*?)\"\u003e\n            A regex applied to each message. The regex must contain at least one capture group.\n            The value captured by the 'last' capture group is used to uniquely identifty a message.\n            If multiple messages have the same identifier, only the first match message is replayed;\n            other messages are deleted.\n\n            Avoids replaying duplicate messages.\n\n            e.g --selector-regex 'id\":\"(.*?)\"'\n\n```\n\n## Dedup Messages\n\nsqs-replay can deduplicate messages. To avoid replaying logically similar messages, sqs-replay provides the `--dedup-regex` argument.\nThe values of `--dedup-regex` is a regex that (must) contain a single capture group that selects the message's deduplication identifier.\nSubsequent messages that contain the same deduplication identifier will be deleted, but not replayed. `--dedup-regex` can be used with standard and FIFO queues.\n\n```shell\nsqs-replay \\\n  --source 'https://host/MyDLQueue' \\\n  --dest 'https://host/MyQueue' \\\n  --max-messages 200\n  --dedup-regex 'id\":\"(.*?)\"'\n  --verbose\n```\n\nThe `deup-regex`, `id\":\"(.*?)\"` matches the value of `id` in a json structure.\n\nFor example, if the following message were in the queue:\n\n```shell\n{\n  \"id\": \"12345\",\n  \"name\": \"eliana\"\n}\n```\n\n```shell\n{\n  \"id\": \"45678\",\n  \"name\": \"luca\"\n}\n```\n\n```shell\n{\n  \"id\": \"12345\",\n  \"name\": \"eliana\"\n}\n```\n\nThe `--deup-regex` will replay message 1 and 2, and delete 3.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdimascio%2Fsqs-replay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdimascio%2Fsqs-replay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdimascio%2Fsqs-replay/lists"}