Создание шаблона 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.

Снимок экрана портала Azure

Пожалуйста, Предложите,

Спасибо

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

Другие вопросы по тегам