我想知道是否有一种方法可以将 Azure blob 自动同步到本地文件系统,以便每当将 blob 添加到容器时都会触发一个事件,以便可以将其下载到本地文件夹。
到目前为止,我可以从本地文件系统同步到 Azure blob,但不能以其他方式同步。
如果我使用轮询,我应该多久轮询一次以及它对性能的影响有多大?
最佳答案
这是您需要自己管理的事情,因为无法观察 blob 或容器。也就是说:您可以检查 container's (或 blob's )电子标签以查看内容是否已更新。
至于轮询:每次执行 GET 操作时,都会发生事务命中。并不是说它的成本非常高(每 10 万笔交易花费半美分):如果您每秒轮询一次,则每月可能会花费 15 美分(每个角色实例进行轮询)。但是:我认为这有点激进,特别是如果您同时发生其他与存储相关的事件(队列轮询等)。
这取决于您认为 blob 内容更新的频率,以及本地缓存需要的最新程度。
您还可以考虑构建一个 uploader 服务,该服务获取上传的对象,将其存储在 Blob 存储中,并通知所有正在运行的实例有更新(包括更新的 Blob 的 URL)。也许为此使用服务总线发布/订阅?我不了解您的应用程序的架构以及内容如何上传;这可能适合你,也可能不适合你。
关于azure - 自动将 Azure Blob 同步到本地文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12329452/