从Azure存储容器或超过X天的文件共享中删除文件夹

时间:2017-10-09 16:22:35

标签: powershell azure-storage-blobs azure-storage-files

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

除了无法检查文件夹的日期/时间属性外,在blob本身上我唯一能找到的属性是#34;最后修改了#34;这对我们来说通常是可以的,虽然有创造属性更好。 据我所知,唯一的解决方案是创建一个表并列出每个文件及其创建时间和日期?对于这个问题似乎做了很多工作。

我可以枚举该文件夹中的文件,因为它们全部被复制在一起,然后删除共享根&#34;文件夹的所有blob&#34;但我更愿意知道文件夹本身的实际上次修改时间比其中的文件。有没有办法实现这个目标?现在,我没有锁定使用azure存储容器,文件共享也是可能的,但是当我尝试这样的时候,枚举文件夹是可能的,但修改后的日期和时间属性由于某种原因没有填充,这是唯一的除了&#34; ETag&#34;。

之外的财产

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

如果您要删除&#39; 已过期 &#39;&#39;使用powershell脚本的文件夹/文件,您可以尝试在blob名称中包含日期时间的路径信息(例如2017/10 / test.txt),然后您可以列出并遍历blob以比较blob中的datetime部分具有当前日期时间的名称,如果blob超过x天,则将其删除。

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