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

如何配置现有集群,通过Shell脚本调用REST API触发Azure Databricks Notebook

用Shell脚本调用REST API触发Azure Databricks Notebook(关联指定运行中集群)

一、前置准备

  • 获取Azure Databricks工作区实例URL:格式为https://<databricks-instance>.azuredatabricks.net,例如https://eastus2.azuredatabricks.net
  • 创建并获取个人访问令牌(PAT):在工作区「用户设置」→「访问令牌」生成,权限至少包含jobs.create和clusters.view
  • 确认目标集群集群ID:可从集群页面URL提取(格式为https://<instance>/#setting/clusters/<cluster-id>/configuration),或通过API查询集群列表获取

二、REST API调用配置(Shell脚本实现)

使用curl调用Databricks Jobs API的runs/submit端点,直接关联已运行集群触发Notebook执行。

示例Shell脚本

#!/bin/bash

# 配置核心参数
DATABRICKS_URL="https://<你的工作区实例>.azuredatabricks.net"
PAT_TOKEN="dapiXXXXXXXXXXXXXXXXXXXXXXXX"
CLUSTER_ID="0123-456789-abc123"
NOTEBOOK_PATH="/Users/your-email@domain.com/目标Notebook完整路径"

# 发起POST请求触发Notebook
curl -X POST \
  "${DATABRICKS_URL}/api/2.0/jobs/runs/submit" \
  -H "Authorization: Bearer ${PAT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "run_name": "Shell触发的Notebook任务",
    "existing_cluster_id": "'"${CLUSTER_ID}"'",
    "notebook_task": {
      "notebook_path": "'"${NOTEBOOK_PATH}"'",
      "base_parameters": {
        "param1": "动态参数值1",
        "param2": "动态参数值2"
      }
    }
  }'

参数说明

  • existing_cluster_id:指定已处于「RUNNING」状态的集群ID,必须是当前工作区内运行中的集群
  • notebook_task.notebook_path:Notebook在Databricks工作区的完整路径(从根目录开始,区分大小写)
  • base_parameters:可选,传递给Notebook的动态参数,Notebook内可通过dbutils.widgets.get("param1")读取

三、响应与状态查询

成功调用后返回包含运行ID的JSON响应:

{
  "run_id": 123456,
  "run_page_url": "https://<instance>/#job/0/runs/123456"
}

可通过run_id调用jobs/runs/get端点查询运行状态:

curl -X GET \
  "${DATABRICKS_URL}/api/2.0/jobs/runs/get?run_id=123456" \
  -H "Authorization: Bearer ${PAT_TOKEN}"

四、注意事项

  • 确保PAT令牌权限足够,若遇权限错误,需在工作区权限设置中调整令牌权限范围
  • 目标集群必须处于运行状态,否则API会返回集群未运行的错误
  • Notebook路径需严格匹配工作区内的实际路径,大小写错误会导致找不到Notebook

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:35:35