{"id":22538401,"url":"https://github.com/shuttle/shuttle.esb.amazonsqs","last_synced_at":"2025-03-28T06:43:33.505Z","repository":{"id":43763054,"uuid":"331603071","full_name":"Shuttle/Shuttle.Esb.AmazonSqs","owner":"Shuttle","description":"Amazon SQS implementation for use with Shuttle.Esb.","archived":false,"fork":false,"pushed_at":"2025-03-02T05:45:36.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T06:24:57.451Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shuttle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-21T11:13:12.000Z","updated_at":"2025-03-02T05:45:39.000Z","dependencies_parsed_at":"2024-11-24T09:18:04.931Z","dependency_job_id":"3911aeca-1eff-4405-abf0-b1d76383a584","html_url":"https://github.com/Shuttle/Shuttle.Esb.AmazonSqs","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AmazonSqs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AmazonSqs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AmazonSqs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AmazonSqs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shuttle","download_url":"https://codeload.github.com/Shuttle/Shuttle.Esb.AmazonSqs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984556,"owners_count":20704794,"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":[],"created_at":"2024-12-07T11:11:53.877Z","updated_at":"2025-03-28T06:43:33.483Z","avatar_url":"https://github.com/Shuttle.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon SQS\n\n```\nPM\u003e Install-Package Shuttle.Esb.AmazonSqs\n```\n\nIn order to make use of the `AmazonSqsQueue` you will need access to an [Amazon Web Services](https://aws.amazon.com/sqs/) account.  There are some options for local development, such as [ElasticMQ](https://github.com/softwaremill/elasticmq), which are beyond the scope of this documentation.\n\nYou may also want to take a look at [Messaging Using Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sqs-apis-intro.html).\n\n## Configuration\n\nThe URI structure is `amazonsqs://configuration-name/queue-name`.\n\n```c#\nservices.AddAmazonSqs(builder =\u003e\n{\n    var amazonSqsOptions = new AmazonSqsOptions\n    {\n        ServiceUrl = \"http://localhost:9324\",\n        MaxMessages = 1,\n        WaitTime = TimeSpan.FromSeconds(20)\n    };\n\n    amazonSqsOptions.Configure += (sender, args) =\u003e\n    {\n        Console.WriteLine($\"[event] : Configure / Uri = '{((IQueue)sender).Uri}'\");\n    };\n\n    builder.AddOptions(\"local\", amazonSqsOptions);\n});\n```\n\nThe `Configure` event `args` arugment exposes the `AmazonSQSConfig` directly for any specific options that need to be set.\n\nThe default JSON settings structure is as follows:\n\n```json\n{\n  \"Shuttle\": {\n    \"AmazonSqs\": {\n      \"local\": {\n        \"ServiceUrl\": \"http://localhost:9324\",\n        \"MaxMessages\": 5,\n        \"WaitTime\": \"00:00:20\"\n      },\n      \"proper\": {\n        \"ServiceUrl\": \"https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue\"\n      }\n    }\n  }\n}\n```\n\n## Options\n\n| Option | Default | Description |\n| --- | --- | --- | \n| `ServiceUrl` |  | The URL to connect to. |\n| `MaxMessages` | `10` | Specifies the number of messages to fetch from the queue. |\n| `WaitTime` | `00:00:20` | Specifies the `TimeSpan` duration to perform long-polling. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.esb.amazonsqs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuttle%2Fshuttle.esb.amazonsqs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.esb.amazonsqs/lists"}