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

如何在Logic App Standard中更新环境专属的parameters.json文件

针对Logic App Standard的parameters.json配置管理方案

一、直接更新parameters.json的方法(类似Function App更新appsettings)

你可以通过以下两种方式实现类似Function App更新appsettings的效果:

1. 部署前用DevOps任务替换参数值

在Azure DevOps中使用Replace Tokens任务,提前将parameters.json中的环境专属值替换为环境变量:

  • 先将parameters.json中的值改为令牌格式:
    {
        "azureFunctionOperation-1-ResourceGroup": {
            "type": "String",
            "value": "#{ResourceGroup}#"
        },
        "azureFunctionOperation-1-SiteName": {
            "type": "String",
            "value": "#{SiteName}#"
        },
        "azureFunctionOperation-1-TriggerUrl": {
            "type": "String",
            "value": "#{TriggerUrl}#"
        }
    }
    
  • 在DevOps变量组中配置对应环境(dev/test/prod等)的变量值
  • 执行Replace Tokens任务完成令牌替换,再用Function App部署任务发布压缩包

2. 使用Azure CLI直接更新已部署的工作流参数

对于已上线的Logic App Standard,可通过Azure CLI命令直接更新工作流参数,无需重新部署压缩包:

az rest --method PUT \
  --uri "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/workflows/{workflowName}/versions/{version}/parameters?api-version=2022-09-01" \
  --body '{
    "properties": {
      "parameters": {
        "azureFunctionOperation-1-ResourceGroup": {
          "value": "prod-rg"
        },
        "azureFunctionOperation-1-SiteName": {
          "value": "get-prod"
        },
        "azureFunctionOperation-1-TriggerUrl": {
          "value": "https://get-prod-xxxx.westeurope-01.azurewebsites.net/api/get-dummy"
        }
      }
    }
  }'

二、更优的配置管理方案(推荐)

避免维护多环境的parameters.json,建议将所有环境专属配置统一映射到Logic App的应用设置(App Settings),完全复用Function App的配置管理方式:

1. 修改connection.json,直接引用应用设置

将原来的parameters引用替换为appsetting,彻底摆脱对parameters.json的依赖:

"azureFunctionOperation-1": {
    "function": {
        "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/resourceGroups/@{appsetting('azureFunctionOperation-1-ResourceGroup')}/providers/Microsoft.Web/sites/@{appsetting('azureFunctionOperation-1-SiteName')}/functions/Get-Dummy"
    },
    "triggerUrl": "@appsetting('azureFunctionOperation-1-TriggerUrl')",
    "authentication": {
        "type": "QueryString",
        "name": "Code",
        "value": "@appsetting('azureFunctionOperation_11_functionAppKey')"
    },
    "displayName": "Get"
}

2. 通过Bicep或DevOps管理应用设置

  • Bicep方式:在Logic App Standard的Bicep模板中定义应用设置,部署时通过参数文件传递不同环境的值:
    resource logicApp 'Microsoft.Web/sites@2022-09-01' = {
      name: logicAppName
      location: location
      properties: {
        serverFarmId: appServicePlanId
        siteConfig: {
          appSettings: [
            {
              name: 'azureFunctionOperation-1-ResourceGroup'
              value: resourceGroupName
            }
            {
              name: 'azureFunctionOperation-1-SiteName'
              value: functionAppName
            }
            {
              name: 'azureFunctionOperation-1-TriggerUrl'
              value: functionAppTriggerUrl
            }
          ]
        }
      }
    }
    
  • DevOps方式:使用Azure App Service Deploy任务的Application and Configuration Settings选项,直接配置或引用变量组中的应用设置值,部署时自动更新。

三、解决Bicep适配Logic App Standard的问题

你之前找到的消费型Logic App方案不适用于Standard,是因为两者的资源类型不同:

  • 消费型Logic App的资源类型是Microsoft.Logic/workflows
  • Standard型Logic App的资源类型是Microsoft.Web/sites(本质是App Service)

所以在Bicep中需要针对Microsoft.Web/sites类型配置,通过siteConfig.appSettings管理所有环境配置,完全替代parameters.json的作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:13:10