Skip to content

Commit 9ae2ee5

Browse files
[Storage] Make metadata a parameter for set_metadata API, StorageServiceProperties renamed to BlobServiceProperties (Azure#2919)
1 parent 1757eaa commit 9ae2ee5

File tree

12 files changed

+95
-99
lines changed

12 files changed

+95
-99
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use azure_core::{
2828
},
2929
Result,
3030
};
31-
use std::sync::Arc;
31+
use std::{collections::HashMap, sync::Arc};
3232

3333
/// A client to interact with a specified Azure storage container.
3434
pub struct BlobContainerClient {
@@ -112,12 +112,14 @@ impl BlobContainerClient {
112112
///
113113
/// # Arguments
114114
///
115+
/// * `metadata` - The metadata headers.
115116
/// * `options` - Optional configuration for the request.
116117
pub async fn set_metadata(
117118
&self,
119+
metadata: HashMap<String, String>,
118120
options: Option<BlobContainerClientSetMetadataOptions<'_>>,
119121
) -> Result<Response<(), NoFormat>> {
120-
self.client.set_metadata(options).await
122+
self.client.set_metadata(metadata, options).await
121123
}
122124

123125
/// Marks the specified container for deletion. The container and any blobs contained within are later deleted during garbage collection.

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use crate::{
77
models::{
88
BlobServiceClientGetAccountInfoOptions, BlobServiceClientGetPropertiesOptions,
99
BlobServiceClientListContainersSegmentOptions, BlobServiceClientSetPropertiesOptions,
10-
ListContainersSegmentResponse, StorageServiceProperties,
10+
BlobServiceProperties, ListContainersSegmentResponse,
1111
},
1212
pipeline::StorageHeadersPolicy,
1313
BlobContainerClient, BlobServiceClientOptions,
@@ -82,7 +82,7 @@ impl BlobServiceClient {
8282
pub async fn get_properties(
8383
&self,
8484
options: Option<BlobServiceClientGetPropertiesOptions<'_>>,
85-
) -> Result<Response<StorageServiceProperties, XmlFormat>> {
85+
) -> Result<Response<BlobServiceProperties, XmlFormat>> {
8686
self.client.get_properties(options).await
8787
}
8888

@@ -106,7 +106,7 @@ impl BlobServiceClient {
106106
/// * `options` - Optional configuration for the request.
107107
pub async fn set_properties(
108108
&self,
109-
storage_service_properties: RequestContent<StorageServiceProperties, XmlFormat>,
109+
storage_service_properties: RequestContent<BlobServiceProperties, XmlFormat>,
110110
options: Option<BlobServiceClientSetPropertiesOptions<'_>>,
111111
) -> Result<Response<(), NoFormat>> {
112112
self.client

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::{
1313
BlobClientSetMetadataOptions, BlobClientSetPropertiesOptions, BlobClientSetTierOptions,
1414
BlockBlobClientCommitBlockListOptions, BlockBlobClientGetBlockListOptions,
1515
BlockBlobClientStageBlockOptions, BlockBlobClientUploadOptions, BlockList, BlockListType,
16-
BlockLookupList, StorageServiceProperties,
16+
BlockLookupList,
1717
},
1818
pipeline::StorageHeadersPolicy,
1919
BlobClientOptions, BlockBlobClientOptions,

sdk/storage/azure_storage_blob/src/generated/clients/blob_container_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/clients/blob_service_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/src/generated/models/models_impl.rs

Lines changed: 8 additions & 8 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/pub_models.rs

Lines changed: 45 additions & 44 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/models/mod.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,17 @@ pub use crate::generated::models::{
3636
BlobItemInternal, BlobMetadata, BlobName, BlobPropertiesInternal,
3737
BlobServiceClientGetAccountInfoOptions, BlobServiceClientGetAccountInfoResult,
3838
BlobServiceClientGetAccountInfoResultHeaders, BlobServiceClientGetPropertiesOptions,
39-
BlobServiceClientListContainersSegmentOptions, BlobServiceClientSetPropertiesOptions, BlobTag,
40-
BlobTags, BlobType, Block, BlockBlobClientCommitBlockListOptions,
41-
BlockBlobClientCommitBlockListResult, BlockBlobClientCommitBlockListResultHeaders,
42-
BlockBlobClientGetBlockListOptions, BlockBlobClientStageBlockOptions,
43-
BlockBlobClientStageBlockResult, BlockBlobClientStageBlockResultHeaders,
44-
BlockBlobClientUploadOptions, BlockBlobClientUploadResult, BlockBlobClientUploadResultHeaders,
45-
BlockList, BlockListType, BlockLookupList, ContainerItem, CopyStatus, CorsRule, LeaseDuration,
46-
LeaseState, LeaseStatus, ListBlobsFlatSegmentResponse, ListBlobsIncludeItem,
47-
ListContainersIncludeType, ListContainersSegmentResponse, Logging, Metrics,
48-
ObjectReplicationMetadata, PageBlobClientClearPagesOptions, PageBlobClientClearPagesResult,
39+
BlobServiceClientListContainersSegmentOptions, BlobServiceClientSetPropertiesOptions,
40+
BlobServiceProperties, BlobTag, BlobTags, BlobType, Block,
41+
BlockBlobClientCommitBlockListOptions, BlockBlobClientCommitBlockListResult,
42+
BlockBlobClientCommitBlockListResultHeaders, BlockBlobClientGetBlockListOptions,
43+
BlockBlobClientStageBlockOptions, BlockBlobClientStageBlockResult,
44+
BlockBlobClientStageBlockResultHeaders, BlockBlobClientUploadOptions,
45+
BlockBlobClientUploadResult, BlockBlobClientUploadResultHeaders, BlockList, BlockListType,
46+
BlockLookupList, ContainerItem, CopyStatus, CorsRule, LeaseDuration, LeaseState, LeaseStatus,
47+
ListBlobsFlatSegmentResponse, ListBlobsIncludeItem, ListContainersIncludeType,
48+
ListContainersSegmentResponse, Logging, Metrics, ObjectReplicationMetadata,
49+
PageBlobClientClearPagesOptions, PageBlobClientClearPagesResult,
4950
PageBlobClientClearPagesResultHeaders, PageBlobClientCreateOptions, PageBlobClientCreateResult,
5051
PageBlobClientCreateResultHeaders, PageBlobClientGetPageRangesOptions,
5152
PageBlobClientResizeOptions, PageBlobClientResizeResult, PageBlobClientResizeResultHeaders,
@@ -54,6 +55,6 @@ pub use crate::generated::models::{
5455
PageBlobClientUploadPagesFromUrlResult, PageBlobClientUploadPagesOptions,
5556
PageBlobClientUploadPagesResult, PageBlobClientUploadPagesResultHeaders, PageList,
5657
PremiumPageBlobAccessTier, PublicAccessType, RehydratePriority, RetentionPolicy,
57-
SequenceNumberActionType, StaticWebsite, StorageServiceProperties,
58+
SequenceNumberActionType, StaticWebsite,
5859
};
5960
pub use extensions::*;

sdk/storage/azure_storage_blob/tests/blob_container_client.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,8 @@ async fn test_set_container_metadata(ctx: TestContext) -> Result<(), Box<dyn Err
6464

6565
// Set Metadata With Values
6666
let update_metadata = HashMap::from([("hello".to_string(), "world".to_string())]);
67-
let set_metadata_options = BlobContainerClientSetMetadataOptions {
68-
metadata: Some(update_metadata.clone()),
69-
..Default::default()
70-
};
7167
container_client
72-
.set_metadata(Some(set_metadata_options))
68+
.set_metadata(update_metadata.clone(), None)
7369
.await?;
7470

7571
// Assert
@@ -78,7 +74,7 @@ async fn test_set_container_metadata(ctx: TestContext) -> Result<(), Box<dyn Err
7874
assert_eq!(update_metadata, response_metadata);
7975

8076
// Set Metadata No Values (Clear Metadata)
81-
container_client.set_metadata(None).await?;
77+
container_client.set_metadata(HashMap::new(), None).await?;
8278

8379
// Assert
8480
let response = container_client.get_properties(None).await?;
@@ -231,11 +227,10 @@ async fn test_container_lease_operations(ctx: TestContext) -> Result<(), Box<dyn
231227
let update_metadata = HashMap::from([("hello".to_string(), "world".to_string())]);
232228
let set_metadata_options = BlobContainerClientSetMetadataOptions {
233229
lease_id: Some(lease_id.clone()),
234-
metadata: Some(update_metadata.clone()),
235230
..Default::default()
236231
};
237232
container_client
238-
.set_metadata(Some(set_metadata_options))
233+
.set_metadata(update_metadata, Some(set_metadata_options))
239234
.await?;
240235

241236
// Change Lease

0 commit comments

Comments
 (0)