我正嘗試使用Node.js連接到Windows服務總線的本地實例。從節點連接到本地ServiceBus的連接字符串
PS C:\Users\Juan> Get-SBClientConfiguration
Endpoint=sb://juan-vaio/MyNamespace;StsEndpoint=https://juan-vaio:9355/MyNamespace;RuntimePort=9354;ManagementPort=9355
但是使用Azure的節點包我收到以下錯誤使用從節點此連接字符串時:
我從PowerShell中獲得我的連接字符串
CODE
var connectionString = "Endpoint=sb://localhost/MyNamespace;StsEndpoint=https://localhost:9355/MyNamespace;RuntimePort=9354;ManagementPort=9355";
var serviceBusService = Azure.createServiceBusService(connectionString);
錯誤
throw new Error('Invalid connection string setting key "' + key + '"');
^
Error: Invalid connection string setting key "runtimeport"
我嘗試刪除連接字符串的runtimeport設置,但由於ManagementPort而失敗。如果我刪除一二它終於不能因爲不完整的設置連接:
throw new NoMatchError('The provided connection string "' + connectionString
^
NoMatchError: The provided connection string "Endpoint=sb://localhost/MyNamespace;StsEndpoint=https://localhost:9355/MyNamespace;"
does not have complete configuration settings.
谷歌搜索一點點我發現,它似乎是一個已知的問題:
https://github.com/Azure/azure-sdk-for-node/issues/1254
但我想知道是否有解決方法,或者如果我做錯了什麼。
謝謝@Peter Pan。本地測試Azure Service Bus的「官方」方式是在本地使用Windows Service Bus實例。這就是你如何從.Net中完成的。我在提供答案但不接受它,留出一些時間來看看是否有其他人知道如何測試在本地使用Azure Service Bus的nodejs應用程序。 – Juan
感謝@Peter潘,我現在正在嘗試使用amqp10其中有一個非阻塞API,越來越麻煩的身份驗證,但我想我已經找到了解決如何處理這個問題的答案。不要認爲azure-sdk將允許使用Windows ServiceBus然而 – Juan
@Juan NodeJS有一個名爲'node-amqp10'(https://github.com/noodlefrenzy/node-amqp10)的軟件包項目已知支持Azure服務Bus和AMQP 1.0,但它對Azure並不穩定。我認爲你可以嘗試一下,因爲Windows服務總線支持AMQP 1.0/1.1。我仍然建議在NodeJS中使用REST API,儘管API文檔不是直接在官方網站中提供的。 –