是否始终需要对(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 存储)存档层进行再水化?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Javascript SDK 无法为具有访问层“存档”的 Blob 复制 Blob (sync/beginCopyBlobUrl)
使用 REST API 上传到 Azure Blob 存储时,Zip 档案损坏
如何在 Microsoft Azure 存档 Blob 中重定向状态 404