You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ARM模板创建含工作流的标准Logic App遇异常,求助解决

解决标准Logic App ARM模板带工作流的问题

核心问题

你单独声明microsoft.logic/workflows资源,会自动创建消耗型Logic App工作流,这就是额外生成消耗型资源的原因。标准Logic App的工作流是作为标准Logic App资源的子资源存在的,不能单独在顶层声明。

正确的ARM模板结构

1. 标准Logic App主资源+嵌套工作流示例

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {
      "type": "string",
      "defaultValue": "my-standard-logic-app"
    },
    "workflowName": {
      "type": "string",
      "defaultValue": "my-embedded-workflow"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "hostingPlanName": {
      "type": "string",
      "defaultValue": "logic-app-hosting-plan"
    },
    "storageAccountName": {
      "type": "string",
      "defaultValue": "mylogicappstorage"
    }
  },
  "resources": [
    // 存储账户资源
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2022-05-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    },
    // 应用服务计划资源
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2022-09-01",
      "name": "[parameters('hostingPlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "WS1",
        "tier": "WorkflowStandard"
      }
    },
    // 标准Logic App主资源(嵌套工作流)
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2022-09-01",
      "name": "[parameters('logicAppName')]",
      "location": "[parameters('location')]",
      "kind": "functionapp,workflowapp",
      "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]",
        "siteConfig": {
          "appSettings": [
            {
              "name": "FUNCTIONS_EXTENSION_VERSION",
              "value": "~4"
            },
            {
              "name": "WORKFLOWS_EXTENSION_VERSION",
              "value": "~1"
            },
            {
              "name": "AzureWebJobsStorage",
              "value": "[concat('DefaultEndpointsProtocol=https;AccountName=', parameters('storageAccountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2022-05-01').keys[0].value, ';EndpointSuffix=', environment().suffixes.storage)]"
            }
          ]
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]",
        "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
      ],
      // 嵌套工作流子资源
      "resources": [
        {
          "type": "workflows",
          "apiVersion": "2022-09-01",
          "name": "[parameters('workflowName')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', parameters('logicAppName'))]"
          ],
          "properties": {
            "definition": {
              "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
              "actions": {
                // 示例HTTP操作
                "Send_HTTP_Request": {
                  "type": "Http",
                  "inputs": {
                    "method": "GET",
                    "uri": "https://example.com/api/test"
                  },
                  "runAfter": {}
                }
              },
              "triggers": {
                // 示例 recurrence 触发器
                "Recurrence_Trigger": {
                  "type": "Recurrence",
                  "recurrence": {
                    "frequency": "Hour",
                    "interval": 1
                  }
                }
              },
              "outputs": {}
            },
            "state": "Enabled"
          }
        }
      ]
    }
  ]
}

2. 必须遵守的规则

  • 标准Logic App的资源类型是Microsoft.Web/sites,kind必须设置为functionapp,workflowapp
  • 工作流是Microsoft.Web/sites/workflows子资源,必须嵌套在主资源的resources数组内,禁止单独在顶层声明
  • 移除所有顶层的microsoft.logic/workflows资源,彻底避免生成消耗型Logic App
  • 工作流的dependsOn必须指向标准Logic App主资源,确保部署顺序正确
  • 工作流的definition需符合官方JSON schema,触发器和操作配置要完整

验证步骤

  1. 删除模板中所有顶层的microsoft.logic/workflows资源
  2. 确认工作流是作为Microsoft.Web/sites的子资源存在
  3. 部署模板后,进入标准Logic App的工作流列表,即可看到定义的工作流
  4. 检查资源组,不会再生成额外的消耗型Logic App

内容的提问来源于stack exchange,提问作者user11862874

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:52:34