升级Terraform databrickslabs/databricks Provider时出现校验和错误
问题描述
使用databrickslabs/databricks Provider 0.6.2版本可正常创建Databricks任务,升级至1.4.0/1.5.0版本时出现以下错误:
Error: Failed to install provider
Error while installing databrickslabs/databricks v1.5.0: checksum list has no SHA-256 hash for "https://github.com/databricks/terraform-provider-databricks/releases/download/v1.5.0/terraform-provider-databricks_1.5.0_linux_amd64.zip"
核心原因
从v1.0.0版本开始,Databricks Terraform Provider已正式从databrickslabs命名空间迁移到官方的databricks命名空间,旧的databrickslabs/databricks源不再维护1.0.0及以上版本的发布,导致Terraform无法获取对应版本的校验和文件,进而触发安装错误。
解决方案
1. 替换Provider官方源
修改versions.tf中的Databricks Provider配置,将源从databrickslabs/databricks改为databricks/databricks:
terraform { required_version = ">= 1.3.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "=3.44.1" } databricks = { source = "databricks/databricks" # 替换为官方源 version = "1.5.0" } } }
2. 清理旧Provider缓存(可选)
如果流水线环境中存在旧Provider的缓存文件,可在terraform init前添加清理命令,避免冲突:
cd deployment-pipelines/tf && rm -rf .terraform/providers/registry.terraform.io/databrickslabs/
3. 重新生成Provider锁文件
针对你的Linux运行环境,重新生成适配的锁文件:
cd deployment-pipelines/tf && terraform providers lock -platform=linux_amd64
注意事项
- 切换到官方Provider后,部分资源或数据源的语法可能有细微调整,请参考官方文档确认兼容性(比如
databricks_job数据源的使用方式) - 当前使用的Terraform 1.3.9版本与Databricks Provider 1.5.0版本兼容,无需额外升级Terraform
内容的提问来源于stack exchange,提问作者E. Erfan

