我很想知道是否有办法通过设置未来的日期或时间在Microsoft azure中自动删除blob文件?设置的时间过去后,blob文件会自动删除。我正在使用c#ASP.NET。
答案 0 :(得分:1)
blob永远不会删除自己。如果对象开始自行删除,那将与Azure的一致性和可靠性相矛盾。
我能想到的最简单的事情就是设置一个WebJob来监控您的存储帐户并删除指定天数的Blob。或者,如果您在应用程序数据库中存储有关blob的元数据,则可以让WebJob查看您的数据库并删除当前已删除的blob。
如果您的网站没有任何实际压力,可以将WebJobs部署到现有的WebApp流程中,无需额外费用。如果您希望WebApp或WebJob特别忙,我会考虑将它们分开,以免它们争夺资源。
There's a great blog post here 告诉您开始使用WebJobs时需要了解的所有信息。
值得注意的是,WebJob可以按需定时,按照定义的时间表连续运行,并响应消息队列或在blob存储中丢弃文件。
答案 1 :(得分:0)
没有任何机制可以单独使用blob存储。
当然,您可以编写一个可以查询每个blob的服务,如果超出了可以存储在MetaData中的TTL,则可以删除。每次阅读和删除都会产生费用。
答案 2 :(得分:0)
1)通过设置未来日期或时间,我们无法在Microsoft azure中自动删除blob文件。
2)为了实现你的目标,你应该创建一个小应用程序,这个应用程序可能是:
App逻辑非常简单:
N
秒检查一次blob,然后删除那些符合的blob
需求(TTL结束)。born time (BT)
。TTL
。(Current Time - BT) >
TTL
如果是'true'你可以删除blob