Azure 存储:以编程方式在存储帐户上启用 Blob 版本控制

问题描述

我正在通过 StorageManagementClient 以编程方式创建多个存储帐户,并希望在创建帐户时在帐户级别启用 Blob 版本控制。这是如何实现的?

var storageManagementClient = new StorageManagementClient(azureCredentials)
{
     SubscriptionId = subscriptionId
};
var storageAccountCreateParameters = new StorageAccountCreateParameters
{
     // set properties
};

await storageManagementClient.StorageAccounts.CreateAsync(resourceGroupName,accountName,storageAccountCreateParameters);

我认为这可以用作 StorageAccountCreateParameters 中的创建参数,但我在那里看不到任何内容

另见https://docs.microsoft.com/en-us/azure/storage/blobs/versioning-enable?tabs=portal

解决方法

blob versioning 不包含在 StorageAccountCreateParameters 中。它属于 BlobServiceProperties 类。

因此,在使用上面的代码创建存储帐户后,您可以使用以下代码设置 blob versioning

var p1 = new BlobServiceProperties()
{
    IsVersioningEnabled = true             
};

storageManagementClient.BlobServices.SetServiceProperties("resource_group","account_name",p1);