0

我正在使用 Azure 存储帐户并尝试使用 powershell 删除容器上存在的文件夹(我知道容器只是一个 2 层层次结构和 blob 概念,并且每个文件夹实际上并不存在)。

除了无法检查文件夹日期/时间属性之外,在 blob 本身上,我能找到的唯一属性是“最后修改”,这对于我们的目的来说通常是可以的,尽管拥有创建属性更好。据我了解,唯一的解决方案是创建一个表并列出每个文件及其创建时间和日期?这件事似乎需要做很多工作。

我可以从该文件夹中枚举一个文件,因为它们都被复制在一起,然后删除共享根“文件夹”的所有 blob,但我更愿意知道文件夹本身的实际最后修改时间,而不是其中的文件。有什么办法可以做到这一点?现在,我没有锁定使用 azure 存储容器,文件共享也是可能的,但是当我尝试这样做时,枚举文件夹是可能的,但是修改后的日期和时间属性由于某种原因没有被填充,这是唯一的除了“ETag”之外的财产。

提前致谢。

4

1 回答 1

0

据我所知,允许用户在本地存储的 blob 上定义过期策略仍在计划中,我们可以在Azure 存储反馈中找到它。

如果您想使用powershell脚本删除'' expired ''文件夹/文件,可以尝试在blob名称中包含带有日期时间的路径信息(例如2017/10/test.txt),然后您可以列出并遍历用于将 blob 名称中的一部分与当前日期时间进行比较datetime的 blob,如果 blob 早于 x 天,则将其删除。

此外,如果您不想在 blob 名称中包含带日期时间的路径信息,您可以尝试将创建日期时间存储在properties 或 metadata中,然后您可以从属性或元数据中检索 blob 的创建日期时间,并将创建日期时间与当前日期时间进行比较确定是否删除 blob。

于 2017-10-10T05:58:34.153 回答