Databricks Jobs Service API提交运行报错:已指定集群仍提示参数缺失
问题
我正在使用Databricks的Jobs Service API,代码如下:
job={"run_name":"Pythonjob","existing_cluster_id": "xxx","notebook_task":{"notebook_path": "xxx"}} jobs_service=service.JobsService(api_client) running_job=jobs_service.submit_run(json.dumps(job))
无论job内容如何,都会收到如下错误信息:
HTTP 400 Client Error: Bad Request for URL xxx Response from server: {'error_code': 'INVALID_PARAMETER_VALUE', 'message': 'One of job_cluster_key, new_cluster or existing_cluster_id must be specified.'
日志显示调用的是REST接口api/2.0/jobs/runs/submit,官方文档中的示例也无法正常运行,请问我的代码哪里存在问题?
解决方法
问题核心是参数传递格式错误:
- Databricks Python SDK的
submit_run方法直接接受Python字典作为参数,不需要手动用json.dumps()序列化。你传入JSON字符串后,SDK无法正确解析其中的existing_cluster_id字段,导致服务器判定参数缺失。 - 错误信息中的
sepecified是服务器返回的拼写错误,忽略即可。
修正后的代码:
job={"run_name":"Pythonjob","existing_cluster_id": "xxx","notebook_task":{"notebook_path": "xxx"}} jobs_service=service.JobsService(api_client) running_job=jobs_service.submit_run(job) # 移除json.dumps()调用
额外验证步骤:
- 确认
existing_cluster_id是Databricks平台中存在的有效集群ID,避免因ID无效触发同类参数错误。 - 检查SDK版本与Databricks集群版本的兼容性,部分旧版SDK可能存在参数解析逻辑差异。
内容的提问来源于stack exchange,提问作者user3579222
相关产品推荐
相关产品推荐

