{"id":22538425,"url":"https://github.com/shuttle/shuttle.esb.azurestoragequeues","last_synced_at":"2025-03-28T06:43:33.527Z","repository":{"id":47921844,"uuid":"303778790","full_name":"Shuttle/Shuttle.Esb.AzureStorageQueues","owner":"Shuttle","description":"Azure Storage Queue implementation for use with Shuttle.Esb.","archived":false,"fork":false,"pushed_at":"2025-03-02T06:22:01.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T07:23:18.712Z","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":"2020-10-13T17:21:06.000Z","updated_at":"2025-03-02T06:22:05.000Z","dependencies_parsed_at":"2023-12-16T08:39:48.477Z","dependency_job_id":"1c0a0bfb-6b9c-44f2-87a2-9a8e3c7cbfac","html_url":"https://github.com/Shuttle/Shuttle.Esb.AzureStorageQueues","commit_stats":null,"previous_names":["shuttle/shuttle.esb.azuremq"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AzureStorageQueues","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AzureStorageQueues/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AzureStorageQueues/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuttle%2FShuttle.Esb.AzureStorageQueues/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shuttle","download_url":"https://codeload.github.com/Shuttle/Shuttle.Esb.AzureStorageQueues/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:12:01.032Z","updated_at":"2025-03-28T06:43:33.504Z","avatar_url":"https://github.com/Shuttle.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure Storage Queues\n\n```\nPM\u003e Install-Package Shuttle.Esb.AzureStorageQueues\n```\n\nIn order to make use of the `AzureStorageQueue` you will need access to an Azure Storage account or use the [Azurite](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite) emulator for local Azure Storage development.\n\nYou may want to take a look at how to [get started with Azure Queue storage using .NET](https://docs.microsoft.com/en-us/azure/storage/queues/storage-dotnet-how-to-use-queues?tabs=dotnet).\n\n## Configuration\n\nThe URI structure is `azuresq://configuration-name/queue-name`.\n\nIf `ConnectionString` is specified the `StorageAccount` setting will be ignored.  Well `StorageAccount` is specified the `DefaultAzureCredential` will be used to authenticate.\n\n```c#\nservices.AddAzureStorageQueues(builder =\u003e\n{\n    var azureStorageQueueOptions = new AzureStorageQueueOptions\n    {\n        StorageAccount = \"devstoreaccount1\",\n        ConnectionString = \"UseDevelopmentStorage=true\",\n        MaxMessages = 20,\n        VisibilityTimeout = null\n    };\n\n    azureStorageQueueOptions.Configure += (sender, args) =\u003e\n    {\n        Console.WriteLine($\"[event] : Configure / Uri = '{((IQueue)sender).Uri}'\");\n    };\n\n    builder.AddOptions(\"azure\", azureStorageQueueOptions);\n});\n```\n\nThe `Configure` event `args` arugment exposes the `QueueClientOptions` 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    \"AzureStorageQueues\": {\n      \"azure\": {\n        \"StorageAccount\": \"devstoreaccount1\",\n        \"ConnectionString\": \"UseDevelopmentStorage=true\",\n        \"MaxMessages\": 32,\n        \"VisibilityTimeout\": \"00:00:30\"\n      }\n    }\n  }\n}\n```\n\n## Options\n\n| Segment / Argument | Default | Description |\n| --- | --- | --- | \n| `StorageAccount` | | The name of the storage. |\n| `ConnectionString` | | The Azure Storage Queue endpoint to connect to. |\n| `MaxMessages` | `32` | Specifies the number of messages to fetch from the queue. |\n| `VisibilityTimeout` | `null` | | The message visibility timeout that will be used for messages that fail processing. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.esb.azurestoragequeues","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuttle%2Fshuttle.esb.azurestoragequeues","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuttle%2Fshuttle.esb.azurestoragequeues/lists"}