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

如何在ADF中获取Azure订阅、租户信息及动态配置环境参数

我来帮你搞定这两个ADF里的问题,都是跨环境部署时特别实用的技能~

一、参数化资源组与订阅,实现跨环境动态管道URL

要实现Dev/Test/Prod环境的动态切换,核心是用管道参数封装资源组和订阅ID,再在Web活动的请求体里动态拼接URL。具体步骤如下:

  1. 给管道添加参数
    打开你的失败通知管道,点击顶部的「参数」选项卡,新增两个字符串类型的参数:

    • ResourceGroupName:存储当前环境的资源组名称(比如DevRG、TestRG)
    • SubscriptionId:存储当前环境的订阅ID
  2. 动态拼接失败管道的URL
    在Web活动的请求体中,把原来固定的资源组和订阅ID替换成参数引用。比如原来的固定URL是:

    https://adf.azure.com/en-us/monitoring/pipelines/MyFailedPipeline/runs/abc123?resourceGroup=DevRG&subscriptionId=xxxx-xxxx-xxxx
    

    现在用ADF的动态表达式拼接:

    @concat(
        'https://adf.azure.com/en-us/monitoring/pipelines/',
        pipeline().name,
        '/runs/',
        pipeline().RunId,
        '?resourceGroup=',
        parameters('ResourceGroupName'),
        '&subscriptionId=',
        parameters('SubscriptionId')
    )
    

    这样不管切换到哪个环境,只要传入对应环境的参数值,URL就会自动更新。

  3. 跨环境传递参数

    • 手动调试:调试管道时,直接在弹窗里填入对应环境的资源组和订阅ID即可。
    • 自动触发:在触发器配置里,用动态内容或固定值传递参数(比如生产环境触发器就传ProdRG和对应的订阅ID)。
    • ARM模板部署:把这两个参数放到ARM模板的parameters里,部署不同环境时用对应的参数文件传入值,实现一键切换。
二、在ADF中获取Azure订阅与租户信息

ADF自带系统变量,可以直接获取当前ADF实例所在的订阅和租户信息,不用额外调用API:

  1. 获取订阅ID
    在动态内容里直接引用:

    @subscription().subscriptionId
    

    这个变量会返回当前ADF所属的Azure订阅ID。

  2. 获取租户ID
    同样用系统变量:

    @tenant().tenantId
    

    它会返回当前Azure租户的ID。

  3. 快速找到这些变量
    打开动态内容面板后,展开「系统变量」分类,就能找到subscription和tenant相关的选项,直接点击就能插入到表达式里。

如果你的场景需要获取其他订阅的信息,可以调用Azure REST API(比如GET https://management.azure.com/subscriptions?api-version=2020-01-01),但需要给ADF的托管身份分配对应的订阅读取权限,不过大多数跨环境场景用当前实例的系统变量就足够了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:12:46