Mar*_*son 4 c# blob azure azure-storage
CloudBlockBlob没有任何方法可以将blob层设置为hot/cool/archive.我还检查了其他blob类型,他们也没有允许这种方法的方法.
IE这个方法:https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier
他们是否有办法在C#中使用azure存储将代码中的blob层从热变为冷?
他们有什么方法可以使用 azure 存储在 C# 中将代码中的 blob 层从热更改为冷?
正如赵星路提到的,我们可以使用CloudBlockBlob.SetStandardBlobTier.
注意:允许在高级存储帐户中的页 blob和blob 存储帐户中的块 blob上执行此操作
以下代码在我这边正常工作。我使用库WindowsAzure.Storage 9.1.1
var cloudBlobClient = storageAccount.CreateCloudBlobClient();
var container = cloudBlobClient.GetContainerReference("container");
var blob = container.GetBlockBlobReference("blob name");
blob.SetStandardBlobTier(StandardBlobTier.Cool);
blob.FetchAttributes();
var tier = blob.Properties.StandardBlobTier;
Run Code Online (Sandbox Code Playgroud)
使用适用于 .NET 的 Azure Blob 存储客户端库 v12,将myaccount替换为您的存储帐户的名称,将mycontainer 替换为您的容器名称,将myblob替换为要更改其层的 Blob 名称:
var sharedKeyCredential = new StorageSharedKeyCredential("myaccount", storageAccountKey);
var baseBlobContainerUrl = string.Format("{0}.blob.core.windows.net", "myaccount");
var blobServiceClient = new BlobServiceClient(new Uri($"https://{baseBlobContainerUrl}"), sharedKeyCredential);
var containerClient = blobServiceClient.GetBlobContainerClient("mycontainer");
BlobClient blobClient = containerClient.GetBlobClient("myblob");
// Set access tier to cool.
await blobClient.SetAccessTierAsync(AccessTier.Cool);
Run Code Online (Sandbox Code Playgroud)
如果您使用 Azure Gov,请改用此 urll "{0}.blob.core.usgovcloudapi.net"
请记住,您的存储帐户应支持 Cool Storage。
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |