gpt4 book ai didi

azure - 获取 ARM 中逻辑应用的回调 url

转载 作者:行者123 更新时间:2023-12-03 15:38:24 25 4
gpt4 key购买 nike

我正在部署一个 ARM 模板,其中包括:Azure 函数 + 逻辑应用。

已关注 link我创建了一个简单的流程:azure 函数中的方法之一调用逻辑应用程序。我们将该方法命名为“A”。逻辑应用为“B”:

A 调用 B。

逻辑应用 (B) 包含“回调 URL”。方法 (A) 需要具有逻辑应用 (B) 的回调 URL。我需要通过“复制”这个值来设置这个变量:

enter image description here

在我的 azure 应用程序功能中,我需要将此值设置为应用程序设置。

现在,我的 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": {}
}

我的问题是:

  1. 可以在部署期间强制执行逻辑应用“callbackUrl”吗?
  2. 部署逻辑应用并在 azure 函数中设置“应用设置”后是否可以获取“逻辑应用”回调 URL?
  3. 如果没有 - 我是否需要编写一个 powershell 脚本来解决这个问题?
  4. 如何从资源管理器访问该值?

我在路径中看到“accessEndpoint”: https://management.azure.com/subscriptions/ {subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}?api-version=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%2someid2%2Fcontents%2FTriggerInputs%2Fread&sv=1.0&sig={someid3}

最佳答案

既然您询问如何在 ARM 中执行此操作,这里是假设 LA 有一个名为手动的触发器的解决方案:

listCallbackUrl(resourceId('resource-group-name','Microsoft.Logic/workflows', 'logic-app-name', 'manual'), '2016-06-01').value

如果您要将逻辑应用和函数应用部署到同一资源组,则可以排除资源组名称。

以下是将回调 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]"
}
}
]
}
}

关于azure - 获取 ARM 中逻辑应用的回调 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com