我想知道是否有一种方法可以将 Azure blob 自动同步到本地文件系统,以便每当将 blob 添加到容器中时都会触发一个事件,以便可以将其下载到本地文件夹。
到目前为止,我可以从本地文件系统同步到 Azure Blob,但不能以其他方式同步。
如果我使用轮询,我应该多久进行一次轮询以及它对性能的影响有多大?
我想知道是否有一种方法可以将 Azure blob 自动同步到本地文件系统,以便每当将 blob 添加到容器中时都会触发一个事件,以便可以将其下载到本地文件夹。
到目前为止,我可以从本地文件系统同步到 Azure Blob,但不能以其他方式同步。
如果我使用轮询,我应该多久进行一次轮询以及它对性能的影响有多大?
这是您需要自己管理的事情,因为无法查看blob 或容器。也就是说:您可以检查容器(或blob 的)eTag 以查看内容是否已更新。
至于轮询:每次执行 GET 时,都会导致交易命中。并不是说它非常昂贵(每 100K 事务半美分):如果您每秒轮询一次,您每月可能花费 15 美分(每个角色实例进行轮询)。但是:我认为这有点激进,特别是如果您同时发生其他与存储相关的活动(队列轮询等)。
这取决于您认为 blob 内容更新的频率,以及本地缓存需要的最新程度。
您还可以考虑构建一个上传器服务,该服务接收上传的对象,将其存储在 blob 存储中,并通知所有正在运行的实例有更新(包括更新的 blob 的 URL)。也许为此使用服务总线发布/订阅?我不知道您的应用程序的架构以及内容是如何上传的;这可能适合您,也可能不适合您。
你看过这个吗?将文件同步到 Windows Azure 存储
它有点过时,但也许是一个很好的起点。