阅读Azure服务总线队列
我只是试图找出如何尽可能快地从Azure服务总线队列中检索邮件。
我感到震惊的是,没有办法正确订阅通知队列,我将不得不进行民意调查。 (除非我错了,在这种情况下文档是可怕的)。
我做了很长时间的投票工作,但是每60秒查看一条消息看起来每个月会花费900英镑左右(再次,除非我误解了这一点)。 如果我添加一个冗余/秒服务轮询它会翻一番。
所以我想知道最好/最具成本效益的方法是什么。
从本质上讲,我只是想从队列中获取消息,对一些内部保存的数据(可能使用混合服务?)执行API查找,然后可能会将消息发送回另一个队列并附加一些信息。
我看着工人的angular色(?) – 这是可以做到的吗?
我应该提到,我一直在用node.js来做这件事。
从Scott Hanselman和Mark Simms上的Azure队列中查看这些video。 这是C#,但你明白了。
https://channel9.msdn.com/Search?term=azure%20queues%20simms#ch9Search
接触:
- 存储队列与服务总线队列
- 大批量地收集消息(一个一个的粗笨和健谈)
- 处理有毒信息(不良行为者)
- 其他实施细节
- 更多的东西,我现在不记得了
至于您的计算,您可以执行虚拟机,工作者angular色(云服务),应用程序服务Webjobs或Azurefunction。
Webjobs SDK和Azurefunctionbot有一种订阅队列事件(通知邮件)的方法。
(从IaaS到PaaS到FaaS – Azure函数 – 如果存在这样的事情)。
Azure函数已经提供了示例代码作为模板来完成Node的所有工作。 只要做一个新的function,并按照向导。
如果您需要在内部接触数据,则需要考虑将具有站点到站点连接性的VNET集成到您的公寓,或混合连接(仅适用于应用程序服务!)。 Azure函数还不能做到这一点,但是其他计算都是一回事。
https://azure.microsoft.com/en-us/documentation/articles/web-sites-hybrid-connection-get-started/ (该教程仅适用于Windows,但您可以从任何操作系统提取数据。混合连接pipe理器具有生活在一个Windows机器上,但是它可以作为networking上任何主机的反向代理)。
为了轻松处理Azure ServiceBus Queue,最好的select似乎是Azure Webjob 。
有一个ServiceBusTrigger ,允许您从Azure ServiceBus队列中获取消息。
对于node.js集成,您应该看看Azure函数 。 它build立在webjob SDK之上,并具有node.js集成:
- Azure函数NodeJS开发人员参考
- Azure函数服务总线触发器和绑定队列和主题
在第二篇文章中,有一个关于如何使用Azure Function和nodejs从队列中获取消息的例子:
module.exports = function(context, myQueueItem) { context.log('Node.js ServiceBus queue trigger function processed message', myQueueItem); context.done(); };