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

CD流水线创建ADF链接集成运行时测试环境不可见问题排查

问题根因

你执行的CLI命令参数逻辑完全写反,还存在语法错误:

  • 核心逻辑错误:az datafactory integration-runtime linked-integration-runtime create 指令的执行作用域是承载原生自托管IR的源ADF(即你的Dev环境ADF),执行后只会在源ADF的共享IR列表里生成一条授权标记,根本不会在目标ADF侧生成可被链接服务引用的实体IR资源,这就是你仅在Dev环境看到新增条目、Test环境找不到对应资源的直接原因。
  • 语法错误:原命令中'--integration-runtime-name 参数前多打了一个单引号,即便参数逻辑正确也会触发执行异常。
可直接落地的实现方案

1. 修正流水线中创建链接IR的CLI逻辑

跨环境复用SHIR的正确CLI流程是:先从Dev环境的原生SHIR拉取共享授权密钥,再在目标环境(Test/Prod)的ADF资源上下文下创建链接类型的自托管IR,直接把以下命令替换到流水线对应步骤即可,Prod环境部署时替换对应的资源组、ADF名称、订阅ID参数:

# 配置CLI扩展自动安装无提示
az config set extension.use_dynamic_install=yes_without_prompt

# 步骤1:从Dev环境源SHIR拉取跨环境共享授权密钥
SHIR_AUTH_TOKEN=$(az datafactory integration-runtime get-connection-info \
  --factory-name "proj-dev-adf" \
  --integration-runtime-name "OnPrem-SHIR" \
  --resource-group "proj-datalake-dev-rg" \
  --subscription-id $(DEV_SUBSCRIPTION_ID) \
  --query "serviceToken" -o tsv)

# 步骤2:在目标环境ADF中创建指向Dev SHIR的链接IR(以Test环境为例)
az datafactory integration-runtime create \
  --factory-name "proj-test-adf" \
  --integration-runtime-name "OnPrem-SHIR-Shared" \
  --resource-group "proj-datalake-test-rg" \
  --subscription-id $(TARGET_SUBSCRIPTION_ID) \
  --location "West Europe" \
  --properties "{\"type\":\"LinkedSelfHosted\",\"typeProperties\":{\"key\":{\"type\":\"SecureString\",\"value\":\"$SHIR_AUTH_TOKEN\"}}}"

跨订阅/跨租户部署时,提前给流水线使用的服务主体配置双份权限:对Dev环境SHIR的连接信息读取权限、对目标环境ADF的IR写入权限,避免出现403报错。

2. 调整ADF ARM模板配置

  • 登录Dev环境ADF,在管理中心的ARM模板导出配置页,把Dev环境原生的OnPrem-SHIR加入排除资源列表,避免后续部署时ARM模板尝试在目标环境创建同名原生SHIR,和提前创建的链接IR冲突。
  • 给每个环境(Test/Prod)单独配置ARM模板参数文件,将SQL类型链接服务的connectVia.referenceName参数值,设置为对应环境中创建的共享链接IR名称(即上述命令里的OnPrem-SHIR-Shared),不要硬编码Dev环境的原生IR名称。

3. 调整流水线执行顺序

把CD流水线的步骤按以下顺序排布,避免资源依赖报错:

  • 第一步:执行上述CLI命令,在当前部署的目标环境中创建共享链接IR
  • 第二步:增加CLI校验步骤,查询目标环境链接IR是否存在,配置1-2次失败重试,应对Azure资源创建的最终一致性延迟
  • 第三步:执行ARM模板部署,将ADF的数据集、管道、链接服务等业务资源发布到目标环境,自动绑定已创建好的共享链接IR
  • 第四步:可选增加连通性校验步骤,调用ADF接口测试SQL链接服务的连通性,确认SHIR可正常访问本地数据源
注意事项
  • 只要Dev环境的原生SHIR没有删除重建,拉取到的SHIR_AUTH_TOKEN可以重复给Test、Prod等多个环境使用,不需要每次部署重新生成。
  • 链接IR是纯逻辑映射资源,不需要在Test/Prod环境单独部署SHIR节点或虚拟机,所有运行能力、网络配置完全复用Dev环境的原生SHIR节点,提前确认Dev侧SHIR节点的网络安全组、防火墙规则放通了所有环境需要访问的本地数据源地址即可。
  • 不要给链接IR配置自定义节点、并发限制等参数,所有运行时配置统一在Dev环境的原生SHIR上调整,会自动同步到所有关联的链接IR。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:57:20