-
Notifications
You must be signed in to change notification settings - Fork 321
[Storage] Snapshot and Versioning Blob Support #3410
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[Storage] Snapshot and Versioning Blob Support #3410
Conversation
sdk/storage/azure_storage_blob/src/generated/clients/append_blob_client.rs
Outdated
Show resolved
Hide resolved
v0.30.0 code generation…ed when merging main and choosing asset
…rams keep swapping pos and ticking off test-proxy
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds snapshot and versioning support for Azure Storage blobs, introducing two new convenience methods with_snapshot() and with_version_id() to BlobClient. It also fixes query parameter ordering issues that were causing test failures.
Key Changes
- Implemented snapshot and blob versioning functionality with convenience methods for creating version-specific and snapshot-specific blob clients
- Fixed query parameter replacement behavior to ensure proper handling when options override client-level parameters
- Removed test workarounds and re-enabled previously ignored tests that were failing due to query parameter ordering issues
Reviewed changes
Copilot reviewed 12 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/storage/azure_storage_blob/src/clients/blob_client.rs | Added with_version_id(), with_snapshot(), and create_snapshot() methods to BlobClient |
| sdk/storage/azure_storage_blob/src/models/mod.rs | Exported BlobClientCreateSnapshotOptions for public API usage |
| sdk/storage/azure_storage_blob/src/generated/models/header_traits.rs | Updated generated code to remove date() method from BlobClientCreateSnapshotResultHeaders |
| sdk/storage/azure_storage_blob/src/generated/clients/blob_client.rs | Updated generated documentation for create_snapshot method |
| sdk/storage/azure_storage_blob/tests/blob_client.rs | Added comprehensive tests for versioning and snapshot features (8 new test functions) |
| sdk/storage/azure_storage_blob/tests/blob_container_client.rs | Removed query ordering workarounds now that the underlying issue is fixed |
| sdk/storage/azure_storage_blob/tests/page_blob_client.rs | Re-enabled test_upload_page_from_url test |
| sdk/storage/azure_storage_blob/tests/block_blob_client.rs | Re-enabled test_upload_blob_from_url test |
| sdk/storage/azure_storage_blob/tests/blob_service_client.rs | Re-enabled test_find_blobs_by_tags_service test |
| sdk/storage/azure_storage_blob/CHANGELOG.md | Documented new snapshot and versioning support |
| sdk/storage/azure_storage_blob/tsp-location.yaml | Updated TypeSpec specification commit reference |
| sdk/storage/azure_storage_blob/assets.json | Updated test recording asset tag |
| sdk/eventhubs/azure_messaging_eventhubs_checkpointstore_blob/tests/checkpoint_unit_tests.rs | Added temporary query ordering matcher for one test |
| sdk/eventhubs/assets.json | Updated test recording asset tag for eventhubs |
| eng/emitter-package.json | Fixed trailing newline |
| eng/emitter-package-lock.json | Updated package dependencies to remove peer-only designations |
Files not reviewed (1)
- eng/emitter-package-lock.json: Language not supported
.tsp:Azure/azure-rest-api-specs#39178with_snapshot()andwith_version()convenience methods which also now can properly support query parameter replacementTODO: