Skip to content

[Storage] More azure_storage_blob housekeeping (aligning Etag, HttpRange, etc.)#4256

Open
vincenttran-msft wants to merge 7 commits intoAzure:mainfrom
vincenttran-msft:vincenttran/house_keep_ing
Open

[Storage] More azure_storage_blob housekeeping (aligning Etag, HttpRange, etc.)#4256
vincenttran-msft wants to merge 7 commits intoAzure:mainfrom
vincenttran-msft:vincenttran/house_keep_ing

Conversation

@vincenttran-msft
Copy link
Copy Markdown
Member

@vincenttran-msft vincenttran-msft commented Apr 22, 2026

Copilot AI review requested due to automatic review settings April 22, 2026 21:52
@github-actions github-actions Bot added the Storage Storage Service (Queues, Blobs, Files) label Apr 22, 2026
Comment thread sdk/storage/azure_storage_blob/tests/blob_client.rs Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Housekeeping updates across the Storage crates to improve package metadata and documentation, and to capture an API ergonomics inconsistency around conditional headers (if_match/if_none_match) between blob download and upload options.

Changes:

  • Refresh Queue/Blob README formatting and examples (placeholders, example lists, additional Queue send/receive examples).
  • Update crate metadata keywords for azure_storage_queue and azure_storage_blob.
  • Add a blob test demonstrating if_match type friction between download and upload options; add docs entries for a file-upload example.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sdk/storage/azure_storage_queue/README.md README cleanup + adds send/receive code snippets
sdk/storage/azure_storage_queue/Cargo.toml Expands crate keywords metadata
sdk/storage/azure_storage_blob/tests/blob_client.rs Adds test highlighting if_match type inconsistency
sdk/storage/azure_storage_blob/examples/README.md Adds blob_storage_upload_file.rs to example list
sdk/storage/azure_storage_blob/README.md README cleanup, updated examples list + download example
sdk/storage/azure_storage_blob/Cargo.toml Expands crate keywords metadata
Comments suppressed due to low confidence (1)

sdk/storage/azure_storage_queue/README.md:43

  • The README now mentions creating either QueueClient or QueueServiceClient, but the snippet only shows QueueClient (and doesn’t import QueueServiceClient). This can confuse users who try to follow the text literally; either remove QueueServiceClient from this sentence or add a short second snippet showing QueueServiceClient::new(...) usage.
In order to interact with the Azure Queue service, you'll need to create an instance of a client, `QueueClient` or `QueueServiceClient`. The [Azure Identity] library makes it easy to add Microsoft Entra ID support for authenticating Azure SDK clients with their corresponding Azure services:

```rust no_run
use azure_storage_queue::{QueueClient, QueueClientOptions};
use azure_identity::DeveloperToolsCredential;

Comment thread sdk/storage/azure_storage_blob/tests/blob_client.rs Outdated
Comment thread sdk/storage/azure_storage_blob/tests/blob_client.rs Outdated
@vincenttran-msft vincenttran-msft changed the title [Storage] More Storage crate housekeeping + if_match type discussion [Storage] More azure_storage_blob housekeeping (aligning Etag, HttpRange, etc.) Apr 23, 2026
Comment on lines 178 to 200
/// # Examples
///
/// ```
/// use azure_storage_blob::models::HttpRange;
///
/// // Range of 512 bytes starting at offset 0: bytes=0-511
/// let range = HttpRange::new(0, 512);
/// assert_eq!(range.to_string(), "bytes=0-511");
///
/// // Open-ended range starting at offset 255: bytes=255-
/// let range = HttpRange::from_offset(255);
/// assert_eq!(range.to_string(), "bytes=255-");
///
/// // Convert from standard Rust range types:
/// let range: HttpRange = (0u64..100).into();
/// assert_eq!(range.to_string(), "bytes=0-99");
///
/// let range: HttpRange = (100u64..).into();
/// assert_eq!(range.to_string(), "bytes=100-");
///
/// let range: HttpRange = (0u64..=99).into();
/// assert_eq!(range.to_string(), "bytes=0-99");
/// ```
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: it's more common to separate these into separate blocks where your code comment would be regular text before the code block, then each acts as a separate tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Storage Storage Service (Queues, Blobs, Files)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants