W92*_*W92 8 azure azure-resource-manager azure-logic-apps azure-functions
我正在部署一个ARM模板,其中包括:azure函数+逻辑应用程序.
以下链接我创建了一个简单的流程:来自azure函数的方法之一调用逻辑应用程序.我们将方法命名为"A".逻辑应用程序为"B":
一个电话B.
逻辑应用程序(B)包含"回调URL".方法(A)需要有一个回调URL到逻辑应用程序(B).我需要通过"复制"这个值来设置这个变量:
在我的azure app功能中,我需要将此值设置为应用程序设置.
现在,我的ARM看起来(越来越少)像这样:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
//(...)
},
"variables": {
//(...)
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
//(...)
},
{
"type": "Microsoft.Web/serverfarms",
//(...)
},
{
"apiVersion": "2015-08-01",
"type": "Microsoft.Web/sites",
"name": "[variables('functionAppName')]",
"location": "[resourceGroup().location]",
"kind": "functionapp",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
],
"resources": [
{
"apiVersion": "2015-08-01",
"name": "web",
"type": "sourcecontrols",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('functionAppName'))]"
],
"properties": {
"RepoUrl": "[parameters('repoURL')]",
"branch": "[variables('branch')]",
"IsManualIntegration": true
}
}
],
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
"siteConfig": {
"appSettings": [
{
"name": "AzureWebJobsDashboard",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listKeys(variables('storageAccountid'),'2015-05-01-preview').key1)]"
},
//next my app settings
]
}
}
},
{
"name": "[variables('logicAppName')]",
"type": "Microsoft.Logic/workflows",
"location": "[resourceGroup().location]",
"apiVersion": "2016-06-01",
"dependsOn": [
"[resourceId('Microsoft.Web/connections', variables('servicebusConnectionName'))]",
"[resourceId('Microsoft.Web/sites/sourcecontrols', variables('functionAppName'), 'web')]"
],
"tags": {
"displayName": "order-create"
},
"properties": {
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
//(...)
},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {}
}
}
},
"contentVersion": "1.0.0.0",
"outputs": {}
},
"parameters": {
"$connections": {
"value": {
"servicebus": {
"id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/', 'servicebus')]",
"connectionId": "[resourceId('Microsoft.Web/connections', variables('servicebusConnectionName'))]",
"connectionName": "[variables('servicebusConnectionName')]"
}
}
}
}
}
},
{
"type": "MICROSOFT.WEB/CONNECTIONS",
"apiVersion": "2016-06-01",
"name": "[variables('servicebusConnectionName')]",
"location": "[resourceGroup().location]",
"properties": {
"api": {
"id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/', 'servicebus')]"
},
"displayName": "[parameters('servicebus_1_Connection_DisplayName')]",
"parameterValues": {
"connectionString": "[parameters('servicebus_1_connectionString')]"
}
}
}
],
"outputs": {}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我看到路"accessEndpoint": https://management.azure.com/subscriptions/ {} subscriptionId/resourceGroups/{} resourceGroupName /providers/Microsoft.Logic/workflows/ {} logicAppName?API版本= 2016-06- 01
但是一旦我在我的应用设置中使用此值,我就会拒绝访问.
来自逻辑应用程序站点的回调URL看起来很熟悉:https:// {server} .logic.azure.com:443/workflows/{workflow}/runs/{someid}/contents/TriggerInputs?api-version = 2016-06- 01&se = 2017-10-30T13%3A34%3A27.3219438Z&sp =%2Fruns%2 someid2%2Fcontents%2FTriggerInputs%2Fread&sv = 1.0&sig = {someid3}
Jos*_*osh 13
由于您在ARM中询问如何执行此操作,因此以下解决方案假设LA具有名为manual的触发器:
listCallbackUrl(resourceId('resource-group-name','Microsoft.Logic/workflows', 'logic-app-name', 'manual'), '2016-06-01').value
Run Code Online (Sandbox Code Playgroud)
如果要将逻辑应用程序和功能应用程序部署到同一资源组,则可以排除资源组名称.
以下是将回调Url添加到函数设置的方法:
{
"type": "Microsoft.Web/sites",
"kind": "functionapp",
"name": "[variables('function_app_name')]",
"apiVersion": "2016-08-01",
"location": "[resourceGroup().location]",
"identity": { "type": "SystemAssigned" },
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('function_hosting_plan_name'))]",
"siteConfig":
{
"alwaysOn": true,
"appSettings": [
{
"name": "Logic_App_Url",
"value": "[listCallbackUrl(resourceId('resource-group-name','Microsoft.Logic/workflows/triggers', 'logic-app-name', 'manual'), '2016-06-01').value]"
}
]
},
"resources": [
{
"apiVersion": "2015-08-01",
"name": "appsettings",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', variables('storage_account_name'))]",
"[resourceId('Microsoft.Web/Sites', variables('function_app_name'))]"
],
"properties": {
"Logic_App_Url": "[listCallbackUrl(resourceId('resource-group-name','Microsoft.Logic/workflows/triggers', 'logic-app-name', 'manual'), '2016-06-01').value]"
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |