我正在嘗試部署一個Azure邏輯應用程序,其中包含使用ARM模板在服務總線上發送消息的操作。如何在ARM模板中爲Service Bus Logic App操作設置連接字符串?
除了部署邏輯應用程序,ARM模板還部署了服務總線名稱空間,隊列和兩個授權規則(一個用於發送,另一個用於監聽)。
我想動態設置發送服務總線消息操作的連接信息,以使用爲支持發送的AuthorizationRule生成的連接字符串。
當我創建此在門戶編輯器(指定發送連接字符串),我注意到在代碼視圖生成以下...
"Send_message.": {
"conditions": [
{
"dependsOn": "<previous action>"
}
],
"inputs": {
"body": {
"ContentData": "@{encodeBase64(triggerBody())}"
},
"host": {
"api": {
"runtimeUrl": "https://logic-apis-westus.azure-apim.net/apim/servicebus"
},
"connection": {
"name": "@parameters('$connections')['servicebus']['connectionId']"
}
},
"method": "post",
"path": "/@{encodeURIComponent(string('<queuename>'))}/messages"
},
"type": "apiconnection"
}
},
我假定連接信息以某種方式掩埋在@parameters('$connections')['servicebus']['connectionId']"
然後,我使用resources.azure.com導航到邏輯應用程序,以查看我是否可以獲得有關如何定義@parameters('$connections')['servicebus']['connectionId']"
的更多詳細信息。
我發現這一點:
"parameters": {
"$connections": {
"value": {
"servicebus": {
"connectionId": "/subscriptions/<subguid>/resourceGroups/<rgname>/providers/Microsoft.Web/connections/servicebus",
"connectionName": "servicebus",
"id": "/subscriptions/<subguid>/providers/Microsoft.Web/locations/westus/managedApis/servicebus"
}
}
}
}
但我仍然沒有看到在連接字符串設置。
在哪裏可以使用類似於以下內容的方式在ARM模板中設置服務總線操作的連接字符串?
[listkeys(variables('sendAuthRuleResourceId'), variables('sbVersion')).primaryConnectionString]
編輯:另外,我已經提到了似乎是a promising Azure quick start on github (based on the title),但我不能做它的任何意義。它似乎使用較舊的模式2014-12-01-preview
,並且「隊列連接器」引用Api網關。如果在這個場景中有一個更新的例子,我很樂意看到它。
正如你所知,連接是一個資源,所以它需要首先創建你是否參考這個https://blogs.msdn.microsoft.com/logicapps/2016/02/23/deploying-in-the-logic-apps -preview刷新/。您所指的快速啓動鏈接是針對較舊的模式。 – TusharJ
謝謝杜莎。這花了我一段時間,但我能夠使用該鏈接中的信息獲取ARM模板。如果你想提交你的評論作爲答案,很高興給你信用的答案。 – Paul
Paul請隨時編輯我的答案以添加更多信息,以便您的學習可以讓其他人受益。此外,我會與我的團隊分享這些信息以添加更多文檔細節。 – TusharJ