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

如何在Azure Data Factory中单次调用获取所有管道的活动信息

Azure Data Factory批量获取管道活动信息导出Parquet实现方案

核心逻辑:ADF暂无支持单次调用拉取所有pipelineRun对应全量活动数据的接口,你可以用ForEach并行迭代调用+动态输出的方案实现,适配你现有120条管道的量级完全无压力。

  • 第一步:对已经通过Get Pipeline Run获取的全量管道运行数据做预处理,提取所有去重后的pipelineRunId字段组成数组,作为后续迭代的输入参数。
  • 第二步:添加ForEach活动,将上一步输出的pipelineRunId数组设置为迭代项,将ForEach活动的并发度调整为最高值50,120个迭代项仅需2轮即可完成调用,效率远高于串行执行。
  • 第三步:在ForEach活动内部添加Web活动,调用Get Pipeline Activities官方接口,接口配置如下:
    接口请求地址:https://management.azure.com/subscriptions/{你的订阅ID}/resourceGroups/{你的资源组名称}/providers/Microsoft.DataFactory/factories/{你的ADF实例名称}/pipelineruns/@{item().pipelineRunId}/queryActivityRuns?api-version=2018-06-01
    认证方式选择系统分配托管身份,资源参数填https://management.azure.com,需提前为该托管身份分配对应ADF实例的只读访问权限。
  • 第四步:在Web活动后挂载Copy活动,将接口返回的活动列表数据集作为源,接收器指定你的ADLS Gen2存储路径,使用动态表达式@{concat('activity_output/',item().pipelineRunId,'.parquet')}作为输出文件名,即可实现每个pipelineRunId对应生成独立的活动数据Parquet文件。
  • 第五步:如果后续Power BI需要统一查询全量活动数据,可以额外新增一个Copy活动,将该输出目录下的所有Parquet文件合并为单个全量Parquet文件,或直接让PBI读取该目录下的所有文件做自动合并即可。

注意:ADF查询接口的限流阈值为每分钟15000次,你现有120条管道的量级完全不会触发限流,若后续pipelineRun数据量级过万,可按运行时间做分区查询,进一步降低限流风险。

内容的提问来源于stack exchange,提问作者igi -iwe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:45:05