Skip to content

Commit 0d97ee4

Browse files
[Storage] Prep for v0.5.0 azure_storage_blob release (#3002)
1 parent 8f7b698 commit 0d97ee4

File tree

8 files changed

+36
-36
lines changed

8 files changed

+36
-36
lines changed

sdk/eventhubs/azure_messaging_eventhubs_checkpointstore_blob/src/checkpoint_store.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,7 @@ impl BlobCheckpointStore {
7373
.blob_container_client
7474
.blob_client(blob_name.to_string());
7575

76-
let options = BlobClientSetMetadataOptions {
77-
metadata: Some(metadata.clone()),
78-
..Default::default()
79-
};
80-
81-
let result = blob_client.set_metadata(Some(options)).await;
76+
let result = blob_client.set_metadata(metadata.clone(), None).await;
8277
match result {
8378
Ok(r) => Ok(Self::process_storage_response_metadata(
8479
r.headers().get_optional_string(&LAST_MODIFIED),
@@ -121,12 +116,13 @@ impl BlobCheckpointStore {
121116
"{:?} claiming ownership for {} with etag {:?}",
122117
metadata, blob_name, etag
123118
);
124-
let mut options = BlobClientSetMetadataOptions::default();
125-
if let Some(metadata) = &metadata {
126-
options.metadata = Some(metadata.clone());
127-
}
128-
options.if_match = etag.map(|ref e| e.to_string());
129-
let result = blob_client.set_metadata(Some(options)).await?;
119+
let options = BlobClientSetMetadataOptions {
120+
if_match: etag.map(|e| e.to_string()),
121+
..Default::default()
122+
};
123+
let result = blob_client
124+
.set_metadata(metadata.unwrap_or_default(), Some(options))
125+
.await?;
130126
return Self::process_storage_response_metadata(
131127
result.headers().get_optional_string(&LAST_MODIFIED),
132128
result.headers().get_optional_string(&ETAG),

sdk/storage/azure_storage_blob/CHANGELOG.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
# Release History
22

3-
## 0.5.0 (Unreleased)
3+
## 0.5.0 (2025-09-15)
44

55
### Features Added
66

7-
### Breaking Changes
7+
* Added support for `set_properties` to `BlobServiceClient`.
8+
* Added support for `filter_blobs` to `BlobContainerClient` and `BlobServiceClient`.
9+
* Added support for `set_tags` and `get_tags` to `BlobClient`.
10+
* Added support for `get_account_info` to `BlobClient`, `BlobContainerClient`, and `BlobServiceClient`.
11+
* Added support for `upload_blob_from_url` to `BlockBlobClient`.
12+
* Added support for `get_page_ranges`, `update_sequence_number`, and `upload_pages_from_url` to `PageBlobClient`.
13+
* Added support for `find_blobs_by_tags` to `BlobContainerClient` and `BlobServiceClient`.
814

9-
### Bugs Fixed
15+
### Breaking Changes
1016

11-
### Other Changes
17+
* Made `metadata` a required parameter for `set_metadata` for `BlobContainerClient` and `BlobClient`.
1218

1319
## 0.4.0 (2025-08-05)
1420

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "rust",
4-
"Tag": "rust/azure_storage_blob_094782fa40",
4+
"Tag": "rust/azure_storage_blob_f9b39b45b4",
55
"TagPrefix": "rust/azure_storage_blob"
66
}

sdk/storage/azure_storage_blob/src/clients/blob_client.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ impl BlobClient {
165165
/// # Arguments
166166
///
167167
/// * `data` - The blob data to upload.
168-
/// * `overwrite` - Whether the blob to be uploaded should overwrite the current data. If True, `upload_blob` will overwrite the existing data.
168+
/// * `overwrite` - Whether the blob to be uploaded should overwrite the current data. If True, `upload()` will overwrite the existing data.
169169
/// If False, the operation will fail with ResourceExistsError.
170170
/// * `content_length` - Total length of the blob data to be uploaded.
171171
/// * `options` - Optional configuration for the request.
@@ -194,12 +194,14 @@ impl BlobClient {
194194
///
195195
/// # Arguments
196196
///
197+
/// * `metadata` - The metadata headers.
197198
/// * `options` - Optional configuration for the request.
198199
pub async fn set_metadata(
199200
&self,
201+
metadata: HashMap<String, String>,
200202
options: Option<BlobClientSetMetadataOptions<'_>>,
201203
) -> Result<Response<(), NoFormat>> {
202-
self.client.set_metadata(options).await
204+
self.client.set_metadata(metadata, options).await
203205
}
204206

205207
/// Deletes the blob.

sdk/storage/azure_storage_blob/src/generated/clients/blob_client.rs

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/storage/azure_storage_blob/src/generated/models/method_options.rs

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/storage/azure_storage_blob/tests/blob_client.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -238,18 +238,16 @@ async fn test_set_blob_metadata(ctx: TestContext) -> Result<(), Box<dyn Error>>
238238

239239
// Set Metadata With Values
240240
let update_metadata = HashMap::from([("updated".to_string(), "values".to_string())]);
241-
let set_metadata_options = BlobClientSetMetadataOptions {
242-
metadata: Some(update_metadata.clone()),
243-
..Default::default()
244-
};
245-
blob_client.set_metadata(Some(set_metadata_options)).await?;
241+
blob_client
242+
.set_metadata(update_metadata.clone(), None)
243+
.await?;
246244
// Assert
247245
let response = blob_client.get_properties(None).await?;
248246
let response_metadata = response.metadata()?;
249247
assert_eq!(update_metadata, response_metadata);
250248

251249
// Set Metadata No Values (Clear Metadata)
252-
blob_client.set_metadata(None).await?;
250+
blob_client.set_metadata(HashMap::new(), None).await?;
253251
// Assert
254252
let response = blob_client.get_properties(None).await?;
255253
let response_metadata = response.metadata()?;
@@ -362,11 +360,12 @@ async fn test_leased_blob_operations(ctx: TestContext) -> Result<(), Box<dyn Err
362360

363361
let update_metadata = HashMap::from([("updated".to_string(), "values".to_string())]);
364362
let set_metadata_options = BlobClientSetMetadataOptions {
365-
metadata: Some(update_metadata.clone()),
366363
lease_id: Some(lease_id.clone()),
367364
..Default::default()
368365
};
369-
blob_client.set_metadata(Some(set_metadata_options)).await?;
366+
blob_client
367+
.set_metadata(update_metadata.clone(), Some(set_metadata_options))
368+
.await?;
370369

371370
let set_tier_options = BlobClientSetTierOptions {
372371
lease_id: Some(lease_id.clone()),
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
directory: specification/storage/Microsoft.BlobStorage
2-
commit: 2e3571e7b2c729281b6819574cf358fd87ded3ab
2+
commit: 5f6a72bc4faa52e84b174303ff3430ad3c778ba0
33
repo: Azure/azure-rest-api-specs
44
additionalDirectories:

0 commit comments

Comments
 (0)