是否始终需要对(Azure Blob 存储)存档层进行再水化?

Posted

技术标签:

【中文标题】是否始终需要对(Azure Blob 存储)存档层进行再水化?【英文标题】:Is rehydration of the (Azure Blob Storage) archive tier always needed? 【发布时间】:2019-09-18 05:13:36 【问题描述】:

我研究了以下链接以了解 Azure Storage V2 的 Hot、Cool 和 Archive 层。

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-storage-tiers

Blob 补液部分它说:

要读取存档存储中的数据,您必须首先将 blob 的层更改为热层或冷层。此过程称为补液,最多可能需要 15 小时才能完成。

我的问题是:

    我能否只获得所有 blob 的列表而无需补液?我会花钱吗? 在读取/删除单个文件之前是否必须执行补液? 我是否必须在 180 天之前执行补液才能删除文件?

【问题讨论】:

【参考方案1】:

所有答案均来自您链接到的文章

1) 是的,您可以获得一份清单,而且不会额外花费您 2) 是的,您必须重新水化才能读取文件内容,但您可以不重新水化就删除

当 Blob 位于存档存储中时,该 Blob 数据处于脱机状态,无法读取、复制、覆盖或修改。您不能在存档存储中拍摄 Blob 的快照。但是,blob 元数据仍然在线且可用,允许您列出 blob 及其属性。对于存档中的 blob,唯一有效的操作是 GetBlobProperties、GetBlobMetadata、ListBlobs、SetBlobTier 和 DeleteBlob

作为对问题2)阅读部分答案的补充:

Blob 级分层允许您使用称为Set Blob Tier 的单个操作在对象级别更改数据层。随着使用模式的变化,您可以轻松地在热层、冷层或存档层之间更改 blob 的访问层,而无需在帐户之间移动数据。所有层级更改都会立即发生。但是,从存档中恢复 blob 可能需要几个小时。

3) 180 天是 blob 需要在存档存储中的最短时间。在此期间之前的更改会产生提前删除费用。这不会改变您删除 blob 的方式,因此您仍然可以致电 DeleteBlob(并收取提前删除费用)。

分别在 30 天和 180 天之前删除或移出冷却(仅限 GPv2 帐户)或存档层的任何 blob 将产生按比例计算的提前删除费用。

【讨论】:

以上是关于是否始终需要对(Azure Blob 存储)存档层进行再水化?的主要内容,如果未能解决你的问题,请参考以下文章

将文件从AWS S3复制到Azure存储存档层

Azure Javascript SDK 无法为具有访问层“存档”的 Blob 复制 Blob (sync/beginCopyBlobUrl)

使用 REST API 上传到 Azure Blob 存储时,Zip 档案损坏

如何在 Microsoft Azure 存档 Blob 中重定向状态 404

将 json 文档归档到 Azure Blob 存储的最佳做法是啥?

为 Azure Blob 存储批量更改层