Infrastructure: implement Azure Blob Storage adapter
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- azure, csharp
- Domain
- backend, cloud, infrastructure
Research direction
Start in the AzStorage.Infrastructure project by locating IStorageAccountConnector and the storage-account connection use case, then review the Domain failure reasons and the Azurite testing setup. Add the Azure.Storage.Blobs-backed adapter and integration tests for valid connections, invalid credentials, and unreachable endpoints. Done means valid Azurite connections succeed through the use case and SDK failures become specific domain failures.
Written by the indexing model from the issue text.
Description
Goal
Provide the first real, concrete implementation of the storage ports using the official Azure SDK.
Why
This is where the app actually talks to Azure (or Azurite in tests) for the first time.
Tasks
- Add the
Azure.Storage.BlobsNuGet package toAzStorage.Infrastructure. - Implement
IStorageAccountConnectorusingBlobServiceClient, supporting all credential kinds modeled in the Domain storage-account issue (connection string, account key, SAS, Azure AD viaDefaultAzureCredential/ClientSecretCredential). - Map Azure SDK exceptions (
RequestFailedException, etc.) to the domain-friendly failure reasons defined in the connection-abstraction issue. - Add integration tests (using the Azurite setup) that connect successfully and that surface clear failures for wrong credentials/unreachable endpoint.
Acceptance Criteria
- Connecting to Azurite with a valid connection string succeeds end-to-end through the use case.
- Connecting with invalid credentials returns a mapped, specific failure — not a raw SDK exception bubbling up.
Depends on
- Application: storage account connection abstraction & use case
- Set up Azurite-based testing infrastructure for integration tests
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hunterlan/AzStorage
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
All issues in hunterlan/AzStorage
Similar issues
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
spectreconsole/spectre.console#2221 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
godotengine/godot-docs#12428 ·
Maintainers usually reply within 1 day
-
.NET triage
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
microsoft/semantic-kernel#14526 ·
Maintainers usually reply within 4 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100