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

如何在ARM模板参数定义文件中参数化ADF活动超时值?

ARM模板参数化ADF活动超时值的正确JSON结构

1. 定义参数文件(parameters.json)

在ARM参数定义文件中,先声明需要参数化的超时值,格式需遵循ISO 8601时长规范(如PT2H代表2小时):

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "SqlStoredProcTimeout": {
      "value": "PT2H"
    },
    "CopyActivityTimeout": {
      "value": "PT1H"
    }
  }
}

注意:超时值必须用ISO 8601格式,常见示例:PT30M(30分钟)、PT1H30M(1小时30分钟)、PT4H(4小时)。

2. 在ARM模板(template.json)中引用参数

针对SQL Server存储过程活动

核心是将活动的policy.timeout值替换为ARM参数表达式,同时确保activities是数组结构(你之前的错误点之一是把activities写成了对象):

"Microsoft.DataFactory/factories/pipelines": {
  "type": "Microsoft.DataFactory/factories/pipelines",
  "apiVersion": "2018-06-01",
  "name": "[concat(parameters('factoryName'), '/YourPipelineName')]",
  "properties": {
    "activities": [
      {
        "name": "YourStoredProcActivityName",
        "type": "SqlServerStoredProcedure",
        "policy": {
          "timeout": "[parameters('SqlStoredProcTimeout')]",
          "retry": 0,
          "retryIntervalInSeconds": 30,
          "secureOutput": false,
          "secureInput": false
        },
        // 补充存储过程的其他配置(如链接服务、存储过程名称等)
      }
    ]
  }
}

针对复制活动

复制活动的超时参数配置逻辑完全一致,同样放在policy节点下:

"activities": [
  {
    "name": "YourCopyActivityName",
    "type": "Copy",
    "policy": {
      "timeout": "[parameters('CopyActivityTimeout')]",
      "retry": 2,
      "retryIntervalInSeconds": 30,
      "secureOutput": false,
      "secureInput": false
    },
    // 补充复制活动的其他配置(源、目标、映射等)
  }
]

关键修正点

  • 必须将activities定义为数组([]),ADF管道的活动集合始终是数组类型,不能写成对象({})。
  • 参数引用必须使用ARM表达式语法[parameters('参数名')],而非你之前尝试的"="。
  • 确保参数文件和模板文件中的参数名称完全匹配,区分大小写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 23:47:28