我参与了一个多层项目,其中一部分消耗了来自第三方系统的“事件”流。供应商通过Azure服务总线主题发布这些主题 - 它们提供,控制&管理总线。我们仅提供URI,TopicName和Subscription细节。WebJob ServiceBus主题权限
我们的方法是在SDK中使用提供的ServiceBusTrigger
将Webjob放在一起,以处理侦听处理它们到我们系统中的新消息&。然而,我们似乎遇到了障碍,因为工作不断从主题中读取。该作业失败,一个模糊的Timeout Exception
:
Unhandled Exception: System.TimeoutException: The timeout elapsed upon attempting to obtain a token while accessing 'https://****-sb.accesscontrol.windows.net/WRAPv0.9/'.
---> System.IdentityModel.Tokens.SecurityTokenException: The token provider was unable to provide a security token while accessing 'https://****-sb.accesscontrol.windows.net/WRAPv0.9/'.
Token provider returned message: 'The operation has timed out'.
但进一步下跌,跟踪包括:
[ERR] at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
[ERR] at Microsoft.ServiceBus.NamespaceManager.OnEndTopicExists(IAsyncResult result)
[ERR] at Microsoft.ServiceBus.NamespaceManager.EndTopicExists(IAsyncResult result)
厂商后来证实,只允许/要求认购对主题是Listen
任何人都可以确认ServiceBusTrigger
的许可要求是什么?
而作为一个+1,就假设它,无论出于何种原因,需要更多的Listen
(即需要Manage
),会有人想提出一种替代的方法呢?丢失WebJob基础架构(该项目已经有3个其他工作)似乎是一种耻辱 - 尤其是像异步&并发处理来自主题
感谢马修。我们已经围绕目前的主题实现了自己的包装,但它远非完美,因为我们显然没有仪表板集成,并且有些问题标志着正常关机。 一旦上述修复发布在稳定版本中,我们一定会在不久的将来重新审视这个问题。 – Ian 2015-06-13 06:40:44