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

如何在Azure Data Factory中创建遍历Databricks指定文件夹Notebook的ForEach活动

实现方案:用ForEach活动自动执行Databricks指定文件夹下的所有Notebook

步骤1:获取Databricks指定文件夹的Notebook列表

  • 在Synapse管道中添加Web活动,配置参数如下:

    • URL:https://<你的Databricks工作区URL>/api/2.0/workspace/list
      (工作区URL格式通常为adb-xxxxxxx.azuredatabricks.net,替换为实际值)
    • 请求方法:POST
    • 请求头:添加键Authorization,值为Bearer <你的Databricks令牌>
      (令牌需在Databricks工作区的用户设置中生成,权限需包含工作区读取权限)
    • 请求体:以JSON格式指定目标文件夹路径:
      {
        "path": "/<目标文件夹路径>"
      }
      
      例如目标文件夹是/ETL/Production,直接填入该路径即可。
  • 添加Set Variable活动处理Web活动的返回结果:

    • 先创建一个数组类型的管道变量(如notebookList)
    • 在Set Variable的值中使用表达式过滤出仅Notebook类型的对象:
      @filter(activity('Web活动名称').output.objects, item().object_type == 'NOTEBOOK')
      

步骤2:用ForEach活动遍历执行Notebook

  • 添加ForEach活动,核心配置:

    • 遍历项:选择刚才创建的数组变量 @variables('notebookList')
    • 执行模式:勾选Sequential则按顺序执行Notebook,取消勾选则并行执行(默认最多20个并发)
  • 在ForEach活动内部添加Databricks Notebook活动,配置执行参数:

    • Notebook路径:用表达式引用当前遍历项的路径 @item().path
    • 集群、参数等其他配置,与你手动添加Notebook活动时的设置保持一致即可。

额外注意事项

  • 确保Databricks令牌拥有读取目标文件夹、执行Notebook的足够权限
  • 可在ForEach内部添加错误处理逻辑(如失败时触发通知活动),避免单个Notebook执行失败导致整个管道终止
  • 确认Databricks路径格式正确,必须以/开头,与Web活动中填写的路径规则一致
  • 管道启动前需初始化数组变量,避免空值导致ForEach活动无法执行

内容的提问来源于stack exchange,提问作者Salah K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:10:29