如何通过Power Automate调用Databricks Notebook并实现调度
通过Power Automate调度Databricks Notebook(已持有访问令牌)
以下是直接用Power Automate结合Databricks API实现调度的实操步骤:
1. 创建计划触发的云流
- 打开Power Automate,新建自动化云流,选择计划作为触发器。
- 设置你的调度规则(比如每日凌晨2点、每周一上午9点等),完成触发器配置。
2. 添加HTTP动作调用Databricks API
- 点击“+ 新建步骤”,搜索并添加HTTP动作。
- 配置HTTP动作的核心参数:
- 方法:选择
POST - URI:填入你的Databricks工作区Jobs API地址,格式为
https://<你的工作区域名>/api/2.1/jobs/runs/submit(例如https://westus2.azuredatabricks.net/api/2.1/jobs/runs/submit) - 授权:选择
Bearer 令牌,在“令牌”输入框中粘贴你的Databricks访问令牌 - 正文:选择
JSON格式,填入以下模板(根据实际情况修改):{ "run_name": "PowerAutomate触发的Notebook执行", // 若使用现有集群,替换为 existing_cluster_id: "<你的集群ID>" "new_cluster": { "spark_version": "13.3.x-scala2.12", "node_type_id": "Standard_DS3_v2", "num_workers": 1 }, "notebook_task": { "notebook_path": "/Workspace/你的Notebook完整路径", "base_parameters": { // 可选:添加Notebook所需参数,比如 "start_date": "@utcNow('yyyy-MM-dd')" } } }
- 方法:选择
3. 验证与测试
- 保存流程后,点击“测试”按钮执行一次,检查Databricks工作区的“作业”页面是否出现新的运行任务。
- 可在Power Automate中添加后续步骤(比如发送邮件通知),通过HTTP动作的输出判断运行状态:
- 成功响应会返回
run_id等信息,可通过body('HTTP')?['run_id']获取。
- 成功响应会返回
注意事项
- 确保你的Databricks访问令牌拥有作业创建和集群使用的权限。
- 如果工作区是私有网络部署,需配置网络规则允许Power Automate的IP访问Databricks。
- 集群的
spark_version和node_type_id要与工作区支持的规格匹配,可在Databricks集群创建页面查看可选值。
内容的提问来源于stack exchange,提问作者Andre Lopes
相关产品推荐
相关产品推荐

