azure - 删除 Azure 存储帐户中具有过期保留的不可变容器
问题描述
我想删除 Azure 存储帐户中的容器。保留期已过期,数据未更改。但我无法删除这个容器,因为它说它仍然是不可变的。
是否有可用的 PowerShell 命令来查看保留期将适用多长时间?
解决方案
当基于时间的保留策略应用于容器时,容器中的所有 blob 将在有效保留期内保持不可变状态。如果容器中有任何受合法保留或锁定的基于时间的策略保护的 blob,则也不允许删除容器和存储帐户。合法的保留策略将防止 blob、容器和存储帐户被删除。解锁和锁定的基于时间的策略都将防止在指定时间内删除 blob。仅当容器中至少存在一个 blob 时,解锁和锁定的基于时间的策略才能防止容器被删除。只有具有锁定的基于时间的策略的容器才能防止存储帐户被删除;
因此,请检查法律保留(如果有)以及容器内设置的不可变策略。删除 Blob 后,尝试删除容器,然后删除存储帐户。
- https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-immutable-storage#faq
- https://docs.microsoft.com/en-us/azure/storage/scripts/storage-blobs-container-delete-by-prefix-powershell
注意:不允许删除锁定的不变性策略,唯一的方法是在删除容器内的所有 blob 后删除容器。
如果我尝试删除具有基于时间的保留策略或合法保留的容器会怎样?
如果容器中至少存在一个具有锁定或解锁的基于时间的保留策略的 blob,或者容器具有合法保留,则删除容器操作将失败。仅当容器中不存在 blob 并且没有合法保留时,删除容器操作才会成功。
如果我尝试删除具有基于时间的保留策略或合法保留的容器的存储帐户,会发生什么情况?
如果至少有一个容器具有合法保留集或锁定的基于时间的策略,则存储帐户删除将失败。具有解锁的基于时间的策略的容器无法防止存储帐户被删除。您必须先删除所有合法保留并删除所有锁定的容器,然后才能删除存储帐户。
Blob 容器 - 删除不变性策略 中止解锁的不变性策略。delete 的响应将immutabilityPeriodSinceCreationInDays 设置为 0。此操作需要 If-Match 中的 ETag。不允许删除锁定的不变性策略,唯一的方法是在删除策略锁定容器内的所有过期 Blob 后删除容器。
有关更多详细信息,请参阅此链接
推荐阅读
- rdf - 如何使用 rdflib 表示 RDF 数据中的几何点?
- c# - 保持不同类型的相同数据结构方法(类型混合通用和普通)c#
- c - 如何允许其他句子在文件中?
- sql - PostgreSQL 序列无序升序
- c# - 从 .net (c#) 编码数据并使用 angular(ts) 解码
- c++ - 如何使用 Rcpp 使执行就地操作的 C++ 函数可用于另一个 R 包?
- mongodb - MongoDB 分片集群和副本集共享服务器
- c# - C#。如何删除 git 文件夹?
- php - 如何使第二个下拉菜单大于第一个下拉菜单 Laravel
- hibernate - EntityManagerFactoryWrapper 不能强制转换为 SessionFactoryImplementor