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

Databricks DBFS Put API使用求助:JSON数据上传失败

解决Databricks /api/2.0/dbfs/put API上传JSON数据的问题

一、content字段的正确使用方式

/api/2.0/dbfs/put要求content字段的值必须是base64编码的二进制数据,直接传入原始JSON字符串会触发格式错误。操作步骤:

  1. 将目标JSON内容转换为base64编码字符串(Linux可使用base64命令,Python用base64.b64encode()方法)
  2. 把编码后的字符串填入content字段,同时指定DBFS目标路径path和可选的overwrite参数(控制是否覆盖已存在文件)

示例curl请求:

# 先将JSON转base64,比如执行:echo '{"id": 1, "data": "sample"}' | base64
curl -X POST -H "Authorization: Bearer <你的Databricks令牌>" \
-d '{
  "path": "/tmp/your-data.json",
  "overwrite": true,
  "content": "eyJpZCI6IDEsICJkYXRhIjogInNhbXBsZSJ9Cg=="
}' https://<你的工作区域名>/api/2.0/dbfs/put

二、文件上传模式的使用细节

当不提供content字段时,API会接收multipart/form-data格式的文件上传,需满足以下要求:

  • 请求的Content-Type设置为multipart/form-data
  • 表单参数必须包含:
    • path:DBFS的目标文件路径
    • file:本地JSON文件的二进制流(参数名必须是file)
    • 可选overwrite:布尔值,控制是否覆盖已存在文件

示例curl请求:

curl -X POST -H "Authorization: Bearer <你的Databricks令牌>" \
-F "path=/tmp/uploaded-data.json" \
-F "overwrite=true" \
-F "file=@./local-json-file.json" https://<你的工作区域名>/api/2.0/dbfs/put

三、常见错误排查

  • 格式错误:未对content做base64编码,直接传入原始JSON,API会返回格式校验失败的错误
  • 编码问题:base64编码过程中出现换行或字符损坏,导致API无法解析内容
  • 参数错误:文件上传时未使用file作为表单参数名,或者Content-Type未设为multipart/form-data
  • 权限问题:使用的令牌没有DBFS写入权限,需检查令牌的权限范围或工作区的访问控制设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:04:59