hunterlan / hunterlan/AzStorage

Infrastructure: implement Azure Blob Storage adapter

Open
#10 0 comments 0 reactions 0 assignees View on GitHub

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.Blobs NuGet package to AzStorage.Infrastructure.
  • Implement IStorageAccountConnector using BlobServiceClient, supporting all credential kinds modeled in the Domain storage-account issue (connection string, account key, SAS, Azure AD via DefaultAzureCredential/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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.