我已经使用 Dot.Net SDK 创建了 Azure Logic应用。逻辑应用已成功创建,但对于触发器和操作,我想使用现有连接器。我已经手动创建了与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,但没有连接器。
请提出建议,
谢谢
答案 0 :(得分:2)
@HITESHKUMARVAGHASIYA,您好,如果您没有Visual Studio(这是最简单,最简单的选择),那么您可以依靠其他替代方法
对于SQL API连接,可以使用this template。下面我显示了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(例如https://shell.azure.com)获取ARM定义,然后获取资源的定义,例如。
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
HTH
答案 1 :(得分:1)
我们还可以在本地使用Azure Logic Apps Tools for Visual Studio 2017设计逻辑应用程序。使用我们的Azure帐户登录,然后我们可以将其设计为Azure门户。我们还可以切换视图或代码界面。我们可以使用Azure Logic Apps Tools for Visual Studio 2017轻松地做到这一点。 有关更多详细信息,请参阅Build and Deploy Logic Apps in Visual Studio。
我使用servicebus连接对其进行了测试,在发布到Azure之后它可以正常工作