使用应用代码管理分层存储
你可以在代码中配置和管理 Azure 存储。 这表示你可以创建自己的应用来使用存储层。
以制造公司为例,你现在想要规划如何创建一些自定义应用程序来管理文档生命周期。
在本单元中,你将比较使用几种编程环境配置以及管理存储层的方法。 你无需执行本单元中的任何步骤,因为你将在下一个单元中执行这些操作。
C# (.NET)
在项目中,使用 NuGet 导入 Azure.Storage.Blobs 包。
将以下 using 指令添加到代码:
using Azure;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
借助 Azure SDK,可以列出 blob 容器中的所有 blob 以及每个 blob 的属性,包括存储层。
以下代码演示如何在 BlobClientContianer
上使用 GetBlobsAsync
方法获取 BlobItem
对象的集合。 BlobItem
对象将 blob 的属性封装在 Azure 存储中,但不包含实际的 blob 数据。
AsyncPageable<BlobItem> blobItems = blobContainerClient.GetBlobsAsync();
await foreach (var blobItem in blobItems)
{
Console.WriteLine($"Blob name {blobItem.Name}: Tier {blobItem.Properties.AccessTier}");
}
如果只对单个 blob 的存储层感兴趣,并且知道该 blob 的名称,则可对 BlobClient
对象使用 GetPropertiesAsync
方法,这将返回 blob 的属性,包括存储层。
BlobClient blobClient = blobContainerClient.GetBlobClient(blobName);
Response<BlobProperties> response = await blobClient.GetPropertiesAsync();
BlobProperties blobProperties = response.Value;
string accessTier = blobProperties.AccessTier?.ToString();
Console.WriteLine($"Blob name: {blobName} Access tier: {accessTier}");
若要以编程方式更改 blob 的存储层,请在 BlobClient
类上使用 SetAccessTier
方法。
BlobClient blobClient = blobContainerClient.GetBlobClient(blobName);
blobClient.SetAccessTier(AccessTier.Cool);
REST
REST API 支持块 Blob 上的“设置 Blob 层”操作。 此操作是 HTTP PUT 请求,格式如下:
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tier
tier
参数为“存档”、“寒”、“冷”或“热”。
若要检索的块 blob 的存储层,可使用“获取 Blob 属性”操作。 这是 HTTP HEAD 请求(不返回 blob 的内容,只返回响应标头):
https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-access-tier 响应标头指定 blob 的存储层。