我可以以某种方式订阅有关Azure blob对象更改的通知吗?
我的目的是使用SAS将文件上传委托给客户端,最近(上传完成后)更新数据库。看起来我需要不断检查blob的状态,但这是一个非常耗费资源的过程。
答案 0 :(得分:10)
Blob存储无法通知关于对blob所做的更改,但正如您所指出的,您可以监控它,请求 ETag 定期查看是否已完成。
话虽如此,如果正确实施,监控blob(甚至整个容器)的成本几乎可以忽略不计。每秒ping Blob存储一次花费大约2.5美元/月。然后,通过使用一些启发式,您可以将此成本降低到0.25美元(平均每10秒一次检查)。在这一点上,尝试优化更多内容并不是很有趣。
答案 1 :(得分:4)
您现在可以使用Azure functions
执行此操作通过指定存储帐户连接来创建blob触发器 字符串和您的容器/ {name}
在输出中,选择所在的位置 您希望通知转到
答案 2 :(得分:3)
另一个需要考虑的选择是让客户在完成上传后通知您。
答案 3 :(得分:3)
我创建了一个用于监控blob的文件更改监视器 - http://ben.onfabrik.com/posts/monitoring-files-in-azure-blob-storage
的完整详细信息