我研究了以下链接,以了解 Azure 存储 V2 的热层、冷层和存档层。
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-storage-tiers
在">Blob 解除冻结"部分中,它说:
若要读取存档存储中的数据,必须先将 Blob 的层更改为热或冷。此过程称为解除冻结,最多可能需要 15 小时才能完成。
我的问题是:
- 是否可以在不解除冻结的情况下仅获取所有 blob 的列表?会让我付出代价吗?
- 在读取/删除单个文件之前,我是否必须执行解除冻结?
- 我是否必须在 180 天之前执行解除冻结才能删除文件?
所有答案均取自您链接到的文章:
1)是的,您可以获得一个列表,并且不会花费您额外的费用
2)是的,您必须解除冻结才能读取文件内容,但是您可以在不解除冻结的情况下删除
当 Blob 位于存档存储中时,Blob 数据处于脱机状态,无法读取、复制、覆盖或修改。无法在存档存储中拍摄 Blob 的快照。但是,Blob 元数据保持联机且可用,允许你列出 Blob及其属性。对于存档中的 blob,唯一有效的操作是 GetBlobProperties、GetBlobMetadata、ListBlobs、SetBlobTier 和DeleteBlob。
作为问题2阅读部分答案的补充):
Blob级分层允许使用名为"设置 Blob 层"的单个操作在对象级别更改数据层。随着使用模式的变化,可以在热层、冷层或存档层之间轻松更改 Blob 的访问层,而无需在帐户之间移动数据。所有层级更改都会立即发生。但是,从存档中解除冻结 Blob 可能需要几个小时。
3) 180 天是 Blob 在存档存储中需要的最短时间。在该期限之前进行的更改会产生提前删除费用。这不会更改删除 Blob 的方式,因此仍可以调用DeleteBlob
(并收取提前删除费用)。
分别在 30 天和 180 天之前从冷(仅限 GPv2 帐户)或存档层中删除或移出的任何 Blob 都将产生按比例分配的提前删除费用。