我有 15 年的文件,我们在 UI 中显示这些文件。为了节省成本,我想将除最近几年之外的所有文件移至冷库。我应该仍然能够根据需要从冷存储中检索这些文件,但会有大约 24 小时的延迟。就像大多数银行的运作方式一样。如果您要求提供旧的对账单,在线系统会在准备就绪时通知我们。
喜欢从实施过这一点的人那里收集一些想法。我们使用 Azure 和 .Net。
Azure 从冷存储中检索文件以显示在 UI 中。
您可以关注此MS-Document。
要存储文件以节省成本,请考虑使用
Azure Blob Storage Archive tier
。
Archive tier
支持数小时的检索延迟,专为很少恢复的数据而设计。与热层和冷层相比,它提供更便宜的存储;但检索成本较高,检索时间较长。
使用以下代码,使用适用于 .NET 的 Azure Blob 存储 SDK 将旧文件移动到存档层。
使用代码设置访问层:
代码:
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
// Retrieve the connection string for the storage account
string connectionString = "zzzzz";
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient("test");
BlobClient blobClient = containerClient.GetBlobClient("<Your-file-name>");
blobClient.SetAccessTier(AccessTier.Archive);
输出:
要从存档中检索文件,您需要使用相同的方法将它们重新水化到热层或冷层。
代码:
var properties = blobClient.GetProperties();
if (properties.Value.AccessTier == AccessTier.Archive)
{
blobClient.SetAccessTier(AccessTier.Cool);
Console.WriteLine("The file will be available in Cool tier in 15 hours.");
}
您可以从存档层检索文件,延迟最多 15 小时。