Terraform创建databricks_rfa_access_request_destinations报错:provider_config不支持
解决Terraform中databricks_rfa_access_request_destinations的provider_config报错问题
报错原因分析
- Provider版本不兼容:你使用的databricks provider版本是v1.113.0,而
provider_config块是在v1.114.0及以上版本才正式引入的,旧版本无法识别该配置块。 - Provider上下文冲突:当前代码指定了
provider = databricks.accounts(账户级Provider),但provider_config是用于工作区级操作的参数,两者在低版本中无法混用,即使升级版本后也需要确认资源的适用层级。
正确实现方法
第一步:升级Databricks Provider版本
在你的versions.tf文件中更新Provider版本要求,确保使用v1.114.0或更高版本:
terraform { required_providers { databricks = { source = "databricks/databricks" version = ">= 1.114.0" } } }
执行terraform init -upgrade完成版本升级。
第二步:修正资源配置(动态分配工作区)
根据你的需求,有两种可行方案:
方案1:使用provider_config块(推荐,v1.114.0+支持)
移除账户级Provider指定,直接通过provider_config动态绑定工作区ID:
resource "databricks_rfa_access_request_destinations" "catalog_manager" { for_each = var.catalogs destinations = [for item in var.request_access_destinations: { destination_id = item.id destination_type = item.type }] securable = { type = "CATALOG" full_name = each.value.name } # 动态指定工作区ID,仅v1.114.0+支持 provider_config { workspace_id = data.databricks_mws_workspaces.all.ids[each.value.workspace_name] } depends_on = [databricks_catalog.this] }
方案2:使用Provider别名(兼容更多场景)
如果需要更灵活的工作区绑定,可以提前定义多个工作区的Provider别名,然后通过for_each动态选择:
# 示例:动态生成工作区Provider别名(可结合data资源批量生成) provider "databricks" { alias = "workspace_a" host = "https://${data.databricks_mws_workspaces.all.workspaces["workspace_a"].workspace_url}" # 补充认证参数(如token、oauth等) } provider "databricks" { alias = "workspace_b" host = "https://${data.databricks_mws_workspaces.all.workspaces["workspace_b"].workspace_url}" # 补充认证参数 } # 资源中动态选择Provider别名 resource "databricks_rfa_access_request_destinations" "catalog_manager" { for_each = var.catalogs provider = databricks[each.value.workspace_alias] destinations = [for item in var.request_access_destinations: { destination_id = item.id destination_type = item.type }] securable = { type = "CATALOG" full_name = each.value.name } depends_on = [databricks_catalog.this] }
内容的提问来源于stack exchange,提问作者Myung Sik Chae_Nexus Lake Team
相关产品推荐
相关产品推荐

