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

如何在ADF中创建可动态传入自托管IR参数的SQL MI链接服务?

动态配置Azure数据工厂链接服务的自托管集成运行时

需求说明

我拥有5个自托管集成运行时,分别为shir、shir 1、shir2……shir5。需要在Azure数据工厂(ADF)中创建指向SQL托管实例(SQL MI)的链接服务,实现动态传入自托管集成运行时名称的功能。

现有方案问题分析

你尝试的两种ARM模板均存在逻辑错误:

  • 第一种模板通过ARM部署参数传递IR名称,属于部署时静态绑定,无法在运行时动态切换IR;
  • 第二种模板错误混用了ARM模板函数与ADF运行时表达式,@{linkedService().xxx}是ADF运行时语法,但嵌套在ARM的concat函数中会被当作纯字符串处理,无法生效。

正确实现方案

要实现运行时动态指定IR,需创建带参数的链接服务,并在使用该服务的活动(如复制活动)中传递参数。以下是适配SQL MI的正确ARM模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.DataFactory/factories/linkedservices",
      "apiVersion": "2018-06-01",
      "name": "[concat(parameters('factoryName'), '/LS_SQL_MI_Dynamic_IR')]",
      "properties": {
        "type": "SqlManagedInstance",
        "typeProperties": {
          "connectionString": "Data Source=tcp:<你的SQL MI服务器名称>.database.windows.net,1433;Initial Catalog=<目标数据库名称>;Integrated Security=False;",
          "authenticationType": "SqlAuthentication",
          "userName": "<SQL登录用户名>",
          "password": {
            "type": "SecureString",
            "value": "<SQL登录密码>"
          }
        },
        "connectVia": {
          "referenceName": "@{linkedService().IntegrationRuntimeName}",
          "type": "IntegrationRuntimeReference"
        },
        "parameters": {
          "IntegrationRuntimeName": {
            "type": "String",
            "defaultValue": "shir"
          }
        }
      }
    }
  ],
  "parameters": {
    "factoryName": {
      "type": "String"
    }
  }
}

核心配置说明

  1. 定义链接服务参数:在parameters节点新增IntegrationRuntimeName参数,可设置默认值(可选);
  2. 动态引用IR:connectVia.referenceName直接使用ADF运行时表达式@{linkedService().IntegrationRuntimeName},无需嵌套ARM函数;
  3. 运行时传参:在复制活动或其他调用该链接服务的环节中,进入链接服务参数配置界面,通过以下方式传递目标IR名称:
    • 静态值:直接输入shir2等具体IR名称;
    • 动态表达式:如@pipeline().parameters.TargetIRName,通过管道参数传递。

常见误区规避

  • 区分ARM部署语法与ADF运行时表达式:ARM的[]为部署时求值,ADF的@{}为运行时求值,两者不可混用;
  • 若需批量创建绑定不同IR的静态链接服务,才使用第一种ARM参数化方式,但该方式无法实现运行时切换;
  • 确保目标自托管IR已在ADF中完成注册,且网络环境可访问SQL托管实例。

相关配置截图:
链接服务参数配置界面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:14:59