我正在尝试部署一个 Azure 逻辑应用,其中包含使用 ARM 模板在服务总线上发送消息的操作。
除了部署逻辑应用之外,ARM 模板还部署了一个服务总线命名空间、一个队列和两个 AuthorizationRule(一个用于发送,一个用于侦听)。
我想动态设置发送服务总线消息操作的连接信息,以使用为支持发送的 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]
编辑:另外,我提到的似乎是github 上的一个有前途的 Azure 快速入门(基于标题),但我无法理解它。它似乎使用较旧的 schema 2014-12-01-preview
,并且“queueconnector”引用了 Api Gateway。如果这个场景有更新的例子,我很乐意看到它。