Terraform配置Databricks Repos时如何将仓库放入指定子目录
错误原因
databricks_repo 资源的path参数要求传入仓库自身的完整绝对路径,不支持仅传入父目录路径。
你之前测试的1、2、3号配置,传入的都是提前创建的/Repos/test123目录本身路径,Databricks API会识别到这是已存在的普通目录节点,不允许直接把仓库挂载到目录节点上,因此抛出Invalid repo path specified错误;4号配置路径不在/Repos层级下,自然触发「Repos can only be created in the /Repos folder」报错。
正确配置
在父目录路径后拼接自定义的仓库名称,组成仓库的完整路径即可,修正后的配置参考:
resource "databricks_directory" "test_directory" { path = "/Repos/test123" } resource "databricks_repo" "test_repo" { url = "https://somegiturl.com" # 路径格式:父目录绝对路径 + / + 自定义仓库名 path = "${databricks_directory.test_directory.path}/your-custom-repo-name" branch = "main" }
补充说明
- 如果修正配置后仍报权限错误,检查当前Terraform使用的认证身份(个人用户/服务主体)是否对
/Repos/test123目录有写入权限 - 多数Databricks工作区默认限制/Repos根目录的创建权限,标准Repos路径规范为
/Repos/<认证身份对应的用户名/服务主体名>/<自定义目录>,直接在/Repos根下创建一级目录可能被工作区权限策略拦截 - 填写路径时不要在末尾加多余斜杠,避免API解析路径异常
内容的提问来源于stack exchange,提问作者Swifting
相关产品推荐
相关产品推荐

