Application: list containers & blobs with pagination
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
Research direction
Start in AzStorage.Application by defining the repository ports and list use cases, then inspect AzStorage.Infrastructure for the Azure Blob Storage adapter using BlobServiceClient and BlobContainerClient.AsPages. Add fake-repository unit tests and Azurite integration tests, including more items than one page. Done means continuation-token paging and optional folder prefixes work without fetching all contents.
Written by the indexing model from the issue text.
Description
Goal
Implement the core "browse" use cases: list containers in an account, and list blobs in a container.
Why
G2 reviews call out Storage Explorer's slow performance on large data sets; loading everything into memory at once is a big part of that. Building pagination in from the start avoids repeating that mistake.
Tasks
- Add
IBlobContainerRepository/IBlobRepositoryports (or similar names) inAzStorage.Applicationwith paged listing methods (page size + continuation token in, page of results + next token out). - Add
ListContainersUseCaseandListBlobsUseCase(support an optional folder-prefix parameter to browse virtual folders). - Implement the ports in
AzStorage.InfrastructureusingBlobServiceClient/BlobContainerClient's built-in paged (AsPages) APIs. - Add unit tests (fake repository) for the use cases and integration tests (Azurite) for the real implementation, including a case with more items than a single page.
Acceptance Criteria
- Listing 1 page of containers/blobs does not require fetching the entire container/account contents.
- Continuation-token-based paging is covered by at least one integration test with 2+ pages.
Depends on
- Domain: model Blob Container and Blob Item
- Infrastructure: implement Azure Blob Storage adapter
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
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.
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 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
All issues in hunterlan/AzStorage
Similar issues
-
core dependencies
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
bug frontend good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Down / Waiting for removal
Difficulty 2/5 1-3 hours Newbie friendliness 70/100