使用Databricks CLI创建Repo失败 求助排查
问题排查与解决方案
核心错误分析
触发400 Bad Request且提示Remote repo not found,结合你已确认Databricks令牌有效、手动操作Git正常的前提,重点排查以下几个方向:
1. Git仓库URL不完整
当前代码中的git_url = 'https://dev.azure.com/XXX/DDD/'仅指向Azure DevOps项目地址,而非具体仓库的克隆URL。Databricks Repos API要求传入完整的仓库访问地址,正确格式应为:
- HTTPS格式:
https://dev.azure.com/{组织名}/{项目名}/_git/{仓库名称} - 或带
.git后缀的克隆地址:https://dev.azure.com/{组织名}/{项目名}/_git/{仓库名称}.git
修改示例:
git_url = 'https://dev.azure.com/XXX/DDD/_git/你的目标仓库名'
2. Repo路径冲突或格式违规
确保repo_path+"_new"生成的/Repos/abc@def.at/DevOpsProject_new满足:
- 该路径在Databricks中未被占用(
create_repo接口无法创建已存在的Repo路径) - 严格遵循
/Repos/[用户邮箱]/[仓库名称]的标准格式,无多余斜杠、特殊字符
3. 认证上下文权限差异
手动在Databricks UI操作时使用的是你配置的Git集成凭据(Azure DevOps PAT),但CI/CD流水线通过API调用时,需确认:
- Databricks令牌对应的身份(用户/服务主体)在Azure DevOps中对目标仓库拥有读取权限
- 若使用服务主体,需在Azure DevOps中将其添加为仓库的读者/贡献者,并确保PAT权限覆盖仓库读取
4. 直接验证API参数
可通过Databricks REST API直接测试参数有效性,排除代码封装问题:
curl -X POST -n \ https://adb-XXX.azuredatabricks.net/api/2.0/repos \ -d '{ "url": "你的完整Azure DevOps仓库URL", "provider": "azureDevOpsServices", "path": "/Repos/abc@def.at/DevOpsProject_new" }'
若该命令同样报错,说明参数存在问题;若成功,则排查Python代码中参数传递的细节(如字符串拼接错误)。
内容的提问来源于stack exchange,提问作者user3579222
相关产品推荐
相关产品推荐

