执行terraform apply时Databricks工作空间已创建却报资源不存在错误
Databricks工作空间创建成功但Terraform报错RESOURCE_DOES_NOT_EXIST的解决方法
可能的原因
- Terraform本地状态与Databricks MWS实际资源不同步
- Databricks MWS API存在延迟,资源创建后未及时同步到查询接口
- MWS凭据权限不足,无法读取工作空间信息
- 之前的Terraform操作残留了无效的工作空间ID状态
解决步骤
1. 验证工作空间实际存在性
登录Databricks账户控制台(accounts.cloud.databricks.com),查看是否存在ID为96783599的工作空间,或者确认刚创建的工作空间实际ID是否与报错中的一致。
2. 刷新Terraform状态并重新执行
执行以下命令强制刷新本地状态,同步远程资源:
terraform refresh -var-file=your-variables.tfvars
之后重新执行规划和应用:
terraform plan terraform apply
3. 清理无效状态记录
如果确认状态文件里的工作空间ID无效,先移除这条无效记录:
terraform state rm module.databricks_workspace_example.databricks_mws_workspaces.this
再重新执行terraform apply,让Terraform重新创建并正确记录工作空间状态。
4. 检查MWS凭据权限
确保Terraform用的Databricks账户账号有Workspace Admin或Account Admin权限,能正常读取MWS里的工作空间资源。
5. 增加创建后等待时间(解决API延迟)
在workspace.tf的databricks_mws_workspaces资源后加个延迟资源,等MWS同步完成:
resource "time_sleep" "wait_for_workspace_sync" { create_duration = "30s" # 可根据实际情况调整时长 depends_on = [databricks_mws_workspaces.this] }
同时确保依赖工作空间信息的资源(比如workspace provider)依赖这个延迟资源,避免提前读取未同步的资源。
6. 排查模块逻辑问题
检查使用的自定义模块,确认没有提前读取工作空间信息的代码,所有依赖工作空间的操作都要等资源完全创建好再执行。
内容的提问来源于stack exchange,提问作者dheeraj G
相关产品推荐
相关产品推荐

