hunterlan / hunterlan/AzStorage
Infrastructure: implement Azure Blob Storage adapter
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
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
Contributor guide
No contributing guide indexed for this repository
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.
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.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100