5

我使用Dot.Net SDK创建了Azure Logic App。Logic App 创建成功,但对于 Trigger 和 Action 我想使用现有的 Connector。我手动创建了连接到 Azur Portal 的连接器。我正在传递该连接器的 APIConnection 或 Id 以请求 json,但它不会连接到该连接器。我的意思是 Logic App 是在没有任何连接器的情况下创建的。

下面是我的请求 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 门户的屏幕截图。在这里您可以看到 Logic App 已成功创建,但没有连接器。

Azure 门户屏幕截图

请建议,

谢谢

4

2 回答 2

3

嗨@HITESHKUMARVAGHASIYA,如果您没有Visual Studio(这是最简单和最简单的选择),那么您可以依靠其他替代品

对于 SQL API 连接,您可以使用此模板。下面我展示了 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 连接,我还没有看到示例,但是您可以使用 Azure CLI 获取 ARM 定义(例如https://shell.azure.com),然后获取资源的定义,例如

az resource show --ids /subscriptions/680cf604-e2e7-4a14-9724-a26c35c573ff/resourceGroups/logicapp_flow_rnd/providers/Microsoft.Web/connections/smtp

这将为您提供创建自己的 ARM 模板的起点。

另一种选择是使用 Jeff Hollan 的 PowerShell 模板生成器,我相信它也会导出 API 连接。

https://github.com/jeffhollan/LogicAppTemplateCreator

高温高压

于 2018-06-29T01:54:36.050 回答
1

我们还可以在本地使用Azure Logic Apps Tools for Visual Studio 2017设计我们的逻辑应用程序。使用我们的 Azure 帐户登录,然后我们可以将其设计为 Azure 门户。我们还可以切换视图或代码界面。我们可以使用Azure Logic Apps Tools for Visual Studio 2017轻松做到这一点。有关更多详细信息,请参阅在 Visual Studio 中构建和部署逻辑应用

我使用服务总线连接对其进行测试,发布到 Azure 后它可以正常工作

在此处输入图像描述

于 2018-06-28T09:39:57.900 回答