我參與了一個多層項目,其中一部分消耗了來自第三方系統的「事件」流。供應商通過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