Создание шаблона ARM подключений LogicApp и API с использованием DotNet SDK
Я создал приложение Azure Logic с использованием Dot.Net SDK. Приложение логики создано успешно, но для Trigger и Action я хочу использовать существующий коннектор. Я вручную создал соединитель с порталом Azur. Я передаю APIConnection или Id этого коннектора для запроса JSON, но он не будет подключаться к этому коннектору. Я имею в виду приложение логики создается без каких-либо разъемов.
Ниже мой запрос Json.
{
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {
"smtp": {
"connectionId": "/subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/resourceGroups/logicapp_flow_rnd/providers/Microsoft.Web/connections/smtp",
"connectionName": "smtp",
"id": "/subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/providers/Microsoft.Web/locations/westindia/managedApis/smtp"
},
"sql": {
"connectionId": "/subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/resourceGroups/logicapp_flow_rnd/providers/Microsoft.Web/connections/sql",
"connectionName": "sql",
"id": "/subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/providers/Microsoft.Web/locations/westindia/managedApis/sql"
}
},
"type": "Object"
}
},
"triggers": {
"When_an_item_is_created": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['sql']['connectionId']"
}
},
"method": "get",
"path": "/datasets/default/tables/@{encodeURIComponent(encodeURIComponent('LogicAppTable1'))}/onnewitems"
},
"recurrence": {
"frequency": "Minute",
"interval": 1
},
"splitOn": "@triggerBody()?['value']",
"type": "ApiConnection"
}
},
"actions": {
"Send_Email": {
"inputs": {
"body": {
"Body": "New Item Created - @{triggerBody()?['Id']}",
"From": "info@logicappdemo.com",
"Subject": "LogicAppDemo - New Item Created",
"To": "hitesh.vaghasiya@softwebsolutions.com"
},
"host": {
"connection": {
"name": "@parameters('$connections')['smtp']['connectionId']"
}
},
"method": "post",
"path": "/SendEmailV2"
},
"runAfter": {},
"type": "ApiConnection"
}
}
}
Вот скриншот с портала Azur. Здесь вы можете видеть, что приложение логики создано успешно, но без Connector.
Пожалуйста, Предложите,
Спасибо
2 ответа
Привет @HITESHKUMARVAGHASIYA, если у вас нет Visual Studio (это самый простой и легкий вариант), то вы можете положиться на другие альтернативы
Для SQL API Connection вы можете использовать этот шаблон. Ниже я показываю выдержку для соединения SQL API,
{
"type": "Microsoft.Web/connections",
"apiVersion": "2016-06-01",
"location": "[parameters('location')]",
"name": "[parameters('sqlConnectionName')]",
"properties": {
"api": {
"id": "[concat(subscription().id,'/providers/Microsoft.Web/locations/', parameters('location'), '/managedApis/sql')]"
},
"displayName": "sql_connection",
"parameterValues": {
"server": "[parameters('sqlServer')]",
"database": "[parameters('sqlDatabase')]",
"authType": "windows",
"username": "[parameters('sqlUser')]",
"password": "[parameters('sqlPassword')]"
}
}
},
Чтобы создать соединение SMTP API, я не видел пример, но вы можете получить определение ARM с помощью Azure CLI (например, https://shell.azure.com/), а затем получить определение вашего ресурса, например
az resource show --ids /subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/resourceGroups/logicapp_flow_rnd/providers/Microsoft.Web/connections/smtp
Это даст вам отправную точку для создания собственного шаблона ARM.
Другим вариантом является использование PowerShell Template Generator от Джеффа Холлана, который, я считаю, также экспортирует API-соединения.
https://github.com/jeffhollan/LogicAppTemplateCreator
НТН
Мы также могли бы разработать наше приложение логики с помощью инструментов приложений логики Azure для Visual Studio 2017 локально. Войдите в нашу учетную запись Azure, и тогда мы сможем создать ее как портал Azure. Мы также могли бы просматривать или кодировать интерфейс. Это легко сделать с помощью инструментов приложений логики Azure для Visual Studio 2017. Для получения более подробной информации обратитесь к разделу "Сборка и развертывание приложений логики в Visual Studio".
Я тестирую его, используя соединение с сервисной шиной, оно работает правильно после публикации в Azure