如何使用Azure Python SDK触发Azure Data Factory特定分支下的管道运行
如何用Azure Python SDK触发Azure Data Factory特定分支内的管道运行
要触发仅存在于特定分支(比如示例中的dev分支)的Azure Data Factory管道运行,核心是在调用SDK的管道运行触发方法时,明确指定目标分支名称。以下是具体实现步骤:
1. 安装依赖包
先确保安装了所需的Python包:
pip install azure-mgmt-datafactory azure-identity
2. 编写触发代码
使用Azure身份认证(示例用Azure CLI认证,也可改用服务主体认证),初始化DataFactory客户端后,调用pipelines.create_run方法并传入branch_name参数指定目标分支:
from azure.identity import AzureCliCredential from azure.mgmt.datafactory import DataFactoryManagementClient # 配置参数 subscription_id = "<你的订阅ID>" resource_group_name = "<资源组名称>" factory_name = "<Data Factory名称>" pipeline_name = "X" # 仅存在于dev分支的管道名称 target_branch = "dev" # 初始化认证和客户端 credential = AzureCliCredential() adf_client = DataFactoryManagementClient(credential, subscription_id) # 触发指定分支内的管道运行 run_response = adf_client.pipelines.create_run( resource_group_name=resource_group_name, factory_name=factory_name, pipeline_name=pipeline_name, branch_name=target_branch # 关键:指定要使用的分支 ) # 输出运行ID和状态 print(f"管道运行已触发,运行ID: {run_response.run_id}") print(f"当前运行状态: {run_response.status}")
关键说明
branch_name参数是核心:默认情况下,SDK会指向main分支,传入目标分支名称后,会从该分支加载管道定义并触发运行。- 权限验证:确保用于认证的账户(或服务主体)拥有对目标Data Factory及对应分支的Data Factory Contributor或更高权限,避免因权限不足导致无法访问分支内的管道。
- 管道存在性:确认目标管道确实存在于指定分支中,若分支内无该管道,SDK会返回"NotFound"错误。
内容的提问来源于stack exchange,提问作者eduardokapp
相关产品推荐
相关产品推荐

