Создание шаблона ARM подключений LogicApp и API с использованием DotNet SDK - PullRequest
0 голосов
/ 28 июня 2018

Я создал Приложение Azure Logic , используя Dot.Net SDK . Приложение логики создано успешно, но для Trigger и Action я хочу использовать существующий коннектор . Я вручную создал соединитель с порталом Azur. Я передаю APIConnection или Id этого коннектора для запроса 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 ]

0 голосов
/ 29 июня 2018

Привет @HITESHKUMARVAGHASIYA, если у вас нет Visual Studio (это самый простой и легкий вариант), то вы можете положиться на другие альтернативы

Для соединения SQL API вы можете использовать этот шаблон . Ниже я показываю выдержку для SQL API Connection,

{   
  "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

НТН

0 голосов
/ 28 июня 2018

Мы также могли бы разработать наше приложение логики с помощью инструментов Azure Logic Apps для Visual Studio 2017 локально. Войдите в нашу учетную запись Azure, и тогда мы сможем создать ее как портал Azure. Мы также могли бы просматривать или кодировать интерфейс. Это легко сделать с помощью инструментов Azure Logic Apps для Visual Studio 2017 . Более подробную информацию см. В Сборка и развертывание приложений логики в Visual Studio .

.

Я тестирую его, используя соединение с сервисной шиной, оно работает правильно после публикации в Azure

enter image description here

...