Я пытаюсь развернуть приложение Azure Logic, которое включает в себя действие для отправки сообщения на служебной шине с использованием шаблона ARM.Как установить строку подключения для действия приложения логики службы Bus в шаблоне ARM?
В дополнение к развертыванию приложения Logic шаблон ARM развертывает пространство имен служебной шины, очередь Queue и два AuthorizationRule (один для отправки и один для прослушивания).
Я хочу, чтобы динамически установить информацию о соединении для сообщения «Отправить служебную шину», чтобы использовать строку Connection, созданную для 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]
EDIT: Кроме того, я был называют, кажется, a promising Azure quick start on github (based on the title), но я не могу делать какие-либо смысл. Похоже, что используется более старая схема 2014-12-01-preview
, а «queueconnector» ссылается на Api Gateway. Если для этого сценария есть более новый пример, я бы хотел его увидеть.
Как вы знаете, соединения - это ресурс, поэтому его нужно создать, сначала вы указали этот https://blogs.msdn.microsoft.com/logicapps/2016/02/23/deploying-in-the-logic-apps -Preview-обновление /. Ссылка быстрого запуска, на которую вы ссылаетесь, предназначена для старой схемы. – TusharJ
Спасибо Tushar. Мне потребовалось некоторое время, но я смог получить шаблон ARM, используя информацию в этой ссылке. Рад сообщить вам ответ, если вы хотите отправить свой комментарий в качестве ответа. – Paul
Paul, пожалуйста, не стесняйтесь редактировать мой ответ, чтобы добавить дополнительную информацию, чтобы ваше обучение могло принести пользу другим. Также я поделюсь информацией с моей командой, чтобы добавить дополнительную информацию о документации. – TusharJ