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

调用Databricks reset_job方法时遇请求JSON格式错误问题

问题解决:Databricks reset_job 报 MALFORMED_REQUEST 错误

错误原因

  • 参数类型错误:reset_job方法接收的是Python字典(map),而非序列化后的JSON字符串。你用json.dumps(job)将字典转为字符串,导致API无法正确解析请求体。
  • 包含冗余字段:从list_jobs获取的job对象包含creator_user_name、created_time等非必需字段,这些字段不符合reset_job接口的请求参数规范。

修正后的代码

...
api_client = ApiClient(host=databricks_host, token=databricks_token)
jobs = JobsApi(api_client)

job_list = jobs.list_jobs()["jobs"]

job_name = "DP DataSync Job"
result_list = list(
    filter(
    lambda job: job['settings']['name'] == job_name, job_list)
    )

job = result_list[0]
job_id = job["job_id"]

# 仅保留reset_job所需字段:job_id和修改后的settings
reset_payload = {
    "job_id": job_id,
    "settings": job["settings"]
}
reset_payload["settings"]["schedule"]["pause_status"] = "UNPAUSED"

print(f"Resetting job with id: {job_id}")

# 直接传入Python字典,无需手动序列化为JSON字符串
jobs.reset_job(reset_payload)

关键说明

  • reset_job接口仅需要job_id和settings两个核心字段,多余字段会触发请求格式校验失败。
  • Databricks CLI的JobsApi方法内部会自动完成字典到JSON的序列化操作,无需手动调用json.dumps。

内容的提问来源于stack exchange,提问作者Georgi Koemdzhiev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:52:31