删除一段时间内未更改的 Azure blob 存储内容

hei*_*don 3 azure lastaccesstime azure-storage-blobs

我开发的应用程序基本上允许用户上传内容并存储在 Azure Blob 存储中。

由于内容的性质是为了用户之间的快速共享,很多内容在一段时间后很快就变得原封不动。但是对于某些内容可以反复使用。

为了阻止 blob 存储规模空前的增长,我计划编写一个工具,基本上可以找到任何一段时间未使用的 blob,并将它们从存储中删除。

如果是标准文件系统,我可以使用“上次访问时间”来指示上次使用文件的时间。但是,我似乎无法找到 blob 的类似属性来确定上次访问时间。

那么有没有人遇到过这种情况,实现这一目标的最佳方法是什么?还是我太在意这个?

非常感谢任何反馈或建议。

先谢谢了。

dun*_*nry 5

我只能看到两种处理方法:

  1. 将访问 blob 置于前端,以便他们必须访问服务才能获取带有 SAS 签名的 blob URL。通过这种方式,您可以计算和监控哪些 blob 正在被访问。一段时间后删除访问量低/无法访问的旧 blob。这需要关闭公共访问,这样人们就不能随便绕过您的 SAS 签名。
  2. 打开存储分析并监控 GET 请求。例如,您必须解析一个月的所有 GET 访问($logs 每小时更新一次)并按资源分组。如果您将其自动化,那就不会太糟糕了。这将为您提供已访问的所有资源的列表。