Databricks API创建/更新仓库失败:Azure DevOps远程仓库未找到
排查Databricks API更新Azure DevOps仓库的"Remote repo not found"错误
错误信息
{
"error_code": "BAD_REQUEST",
"message": "Remote repo not found. Please ensure that:\n1. Your remote Git repo URL is valid.\n2. Your personal access token or app password has the correct repo access."
}
执行的PATCH请求脚本
- bash: | URL="$(DATABRICKS-HOST)/api/2.0/repos/{REPO_ID}" JSON_PAYLOAD='{ "branch": "{BRANCH}", "sparse_checkout": { "patterns": [ "parent-folder/child-folder" ] } }' curl -v --location --request PATCH "$URL" \ --header "Authorization: Bearer $DATABRICKS_TOKEN" \ --header "Content-Type: application/json" \ --header "X-Databricks-Azure-SP-Management-Token: $ENTRAID_TOKEN" \ --header "X-Databricks-Org-Id: {ORG_ID}" \ --header "X-Databricks-Azure-Workspace-Resource-Id: /subscriptions/{SUBID}/resourceGroups/{RG}/providers/Microsoft.Databricks/workspaces/{DATABRICKS-NAME}" \ --data "$JSON_PAYLOAD"
排查方向(已排除权限问题)
- 验证仓库ID的正确性:确认
{REPO_ID}是Databricks中已关联的Azure DevOps仓库的有效ID。通过GET/api/2.0/repos接口获取所有仓库列表,核对目标仓库的ID是否与脚本中一致。 - 检查分支名称的准确性:确保
{BRANCH}是Azure DevOps仓库中存在的分支,注意分支名称大小写敏感(如main和Main视为不同分支)。 - 核对稀疏 checkout 路径格式:确认
parent-folder/child-folder是仓库中实际存在的路径,避免拼写错误、大小写不匹配,或路径包含未转义的特殊字符。 - 验证请求头参数:虽然GET请求正常,但PATCH请求需确认
X-Databricks-Org-Id、X-Databricks-Azure-Workspace-Resource-Id等参数准确无误,尤其是订阅ID、资源组、工作区名称需完全匹配。 - 分析curl详细日志:利用
curl -v的输出,检查实际发送的URL、Payload内容是否正确,排查是否存在变量替换失败(如DATABRICKS-HOST未正确展开、占位符未替换为实际值)。 - 确认仓库关联状态:通过GET
/api/2.0/repos/{REPO_ID}获取仓库详情,检查url字段是否指向正确的Azure DevOps仓库地址,且该仓库在Azure DevOps端未被删除、未变更URL。
内容的提问来源于stack exchange,提问作者NotUrBestie
相关产品推荐
相关产品推荐

