使用Terraform的databricks_metastores数据源获取Azure Databricks元存储ID报错
解决Azure Terraform Databricks元存储ID获取的配置错误问题
核心修复:为数据源指定账户级Provider
你的问题根源在于**databricks_metastores数据源没有关联你配置的账户级Provider**。你定义了带alias = "azure_account"的Provider,但Terraform默认会使用无别名的默认Provider(未配置账户级参数),导致账户配置无效。
修改数据源代码,显式指定使用别名Provider:
data "databricks_metastores" "all" { provider = databricks.azure_account } output "all_metastores" { value = data.databricks_metastores.all.ids }
额外排查要点
如果修复后仍报错,可检查以下内容:
- Azure CLI登录状态:执行
az account show确认当前已登录,且登录账户拥有Databricks账户的管理权限(如账户管理员、Metastore管理员)。 - 订阅匹配:确保Azure CLI当前订阅与Databricks账户所属订阅一致,可通过
az account set --subscription <你的订阅ID>切换。 - Provider版本:使用最新稳定版Databricks Provider,避免旧版本的API兼容性问题。在Provider块中添加版本约束:
provider "databricks" { alias = "azure_account" host = "https://accounts.azuredatabricks.net" account_id = "valid account id" auth_type = "azure-cli" version = ">= 1.20.0" } - Account ID有效性:再次确认
account_id无拼写错误,可在Azure Portal的Databricks账户页面获取正确ID。
内容的提问来源于stack exchange,提问作者user26489951
相关产品推荐
相关产品推荐

