从BizTalk收听Azure Queue

时间:2015-11-17 20:30:53

标签: biztalk biztalk-2013 azure-storage-queues

我已经尝试了几周了。这是一个非常简单的概念。

我只想从本地安装的BizTalk Server 2013 R2中读取Azure云队列(非服务总线!)中的消息,然后允许BizTalk在我们的内部网络上对该消息执行某些操作。我正在按照这种用于创建Azure队列端口的示例:

http://social.technet.microsoft.com/wiki/contents/articles/20211.biztalk-server-2013-connect-to-window-azure-blob-storage.aspx

在我的情况下,这需要是一个接收(它将接收队列消息)。所以,我有一个接收位置,它是一个指向https://myappname.queue.core.windows.net/的WCF-WebHttp适配器,其操作如下:

 <Operation Name="Query" Method="Get" Url="/myqueue/messages"/>
 <Operation Name="Remove" Method="Delete" Url="/myqueue/messages"/>

这似乎没有神奇地做任何事情,我不确定如何从BizTalk启动对Azure队列的读取调用。我是否需要发起某种类型的轮询消息?我如何使用WCF-WebHttp适配器端口执行此操作?

也许问题是:如何使以WCF-WebHttp接收位置开头的业务流程做点什么? IE浏览器。如何让它轮询队列/我应该用什么方式启动编排?

1 个答案:

答案 0 :(得分:3)

WCF-WebHttp没有任何内置的轮询机制。您必须创建或模拟一个。

此时您需要为此进行一些自定义实施。有很多不同的选择,但我可能会选择其中一种。

  1. 使用Scheduled Task Adapter将GET请求发送到队列端点并将该消息发布到MessageBox
  2. 创建一个Windows服务或预定作业(可能是Powershell?)进行轮询并将任何消息写入BizTalk可以自动使用的某些内容(可能是MSMQ或文件位置)