求助:使用Databricks API创建目录的cURL请求失败排查
Databricks API 创建目录失败排查与解决
问题场景
尝试通过Databricks API的mkdirs接口创建目录,但请求执行失败。失败的cURL请求如下:
curl -X POST https://${DATABRICKS_HOST}/api/2.0/dbfs/mkdirs -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -d {path:dbfs/mnt}
但使用相同的${DATABRICKS_HOST}和${DATABRICKS_TOKEN}执行以下GET请求可以正常获取集群信息:
curl -X GET "https://${DATABRICKS_HOST}/api/2.0/clusters/get" -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -d '{ "cluster_id": "<0101-654123-is5wcaq7>" }'
错误原因
失败的请求存在两个关键问题:
- JSON格式不规范:
-d参数后的JSON未用引号包裹键名,且整个JSON字符串没有加引号,不符合标准JSON语法,cURL无法正确解析。 - 路径格式错误:DBFS路径必须以
dbfs:/开头,原请求中的dbfs/mnt缺少冒号,会导致API无法识别合法路径。
正确的cURL请求
修正后的请求如下:
curl -X POST https://${DATABRICKS_HOST}/api/2.0/dbfs/mkdirs \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \ -d '{ "path": "dbfs:/mnt" }'
验证方式
执行成功后,可通过list接口验证目录是否创建:
curl -X GET https://${DATABRICKS_HOST}/api/2.0/dbfs/list \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \ -d '{ "path": "dbfs:/" }'
内容的提问来源于stack exchange,提问作者Vaitheesh
相关产品推荐
相关产品推荐

