【发布时间】:2016-08-29 22:10:43
【问题描述】:
我正在尝试同时使用一个 WebJob 和一个 Worker Role。
WebJob 将有一个 BlobTrigger,每次将 Blob 添加到容器时,都会将一条新消息添加到 Azure 存储队列(称为 待处理 Blob)。
此外,还有一个 Worker Role,它将汇集来自 待处理 blob 队列的消息,并将 blob 名称添加到内部阻塞集合中,该集合将由由工人角色。
我认为在这个解决方案中我会考虑可伸缩性,因为会有很多 blob 到达容器,所以我不希望 CPU 消耗达到峰值。
在开发解决方案时我想到了一些问题:
- 有没有办法检查 Azure 存储队列里面是否有消息?
- 如果我调用 GetMessage 方法并且队列没有任何消息,执行将被阻止,直到有新消息到达?
- 有没有办法手动删除 Blob 收据?
【问题讨论】:
-
不知道你的意思,关于删除 blob 收据。
-
为什么使用工作者角色而不是 webjob 来托管排队过程?
-
当您使用 BlobTrigger 时,Azure 使用什么来确定触发器是否处理了 Blob 是 Blob 收据。这是某种标志,表明该 blob 不是新的并且尚未更新。
-
@DavidMakogon 我想也许我应该重新表述我的问题并添加一些关于要解决的问题的上下文信息。或许,您可以看一下:stackoverflow.com/questions/39227680/… 谢谢!
标签: azure azure-blob-storage azure-webjobs azure-worker-roles azure-storage-queues