5

我想知道是否有一种方法可以将 Azure blob 自动同步到本地文件系统,以便每当将 blob 添加到容器中时都会触发一个事件,以便可以将其下载到本地文件夹。

到目前为止,我可以从本地文件系统同步到 Azure Blob,但不能以其他方式同步。

如果我使用轮询,我应该多久进行一次轮询以及它对性能的影响有多大?

4

3 回答 3

5

这是您需要自己管理的事情,因为无法查看blob 或容器。也就是说:您可以检查容器(或blob 的)eTag 以查看内容是否已更新。

至于轮询:每次执行 GET 时,都会导致交易命中。并不是说它非常昂贵(每 100K 事务半美分):如果您每秒轮询一次,您每月可能花费 15 美分(每个角色实例进行轮询)。但是:我认为这有点激进,特别是如果您同时发生其他与存储相关的活动(队列轮询等)。

这取决于您认为 blob 内容更新的频率,以及本地缓存需要的最新程度。

您还可以考虑构建一个上传器服务,该服务接收上传的对象,将其存储在 blob 存储中,并通知所有正在运行的实例有更新(包括更新的 blob 的 URL)。也许为此使用服务总线发布/订阅?我不知道您的应用程序的架构以及内容是如何上传的;这可能适合您,也可能不适合您。

于 2012-09-08T15:07:10.970 回答
3

我有这样做的代码。请参阅https://github.com/smarx/nodeerole/blob/master/WebRole/Sync/OneWayBlobSync.cs

于 2012-09-08T16:35:26.253 回答
3

你看过这个吗?将文件同步到 Windows Azure 存储

它有点过时,但也许是一个很好的起点。

于 2012-09-10T01:50:02.383 回答