You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建Azure Databricks metastore时区域配额检查失败

解决Terraform创建Azure Databricks Metastore时的配额检查错误

错误信息

Error: cannot create metastore: Failed to check metastore quota limit for region westeurope.

排查与解决方案

1. 确认Terraform认证上下文与权限

  • 确保Terraform使用的认证主体(服务主体或账号)和GUI操作的是同一身份,且已正确配置Databricks账户级认证(而非仅工作区级)。databricks_metastore是账户级资源,需指向账户端点(格式如https://accounts.azuredatabricks.net),而非工作区专属URL。
  • 验证认证配置:检查环境变量(如ARM_CLIENT_ID、ARM_CLIENT_SECRET)或Terraform提供者块中的账户ID、订阅ID是否准确。

2. 显式配置Databricks提供者的账户关联

在Terraform提供者块中明确指定账户ID与工作区资源ID,确保资源创建时的上下文正确:

provider "databricks" {
  account_id                  = "<你的Databricks账户ID>"
  azure_workspace_resource_id = "/subscriptions/<订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.Databricks/workspaces/<工作区名>"
}

3. 提前配置存储根的权限

确保storage_root对应的ADLS Gen2容器已授予Databricks metastore服务主体权限。可通过Terraform提前创建角色分配:

resource "azurerm_role_assignment" "metastore_storage_access" {
  scope                = azurerm_storage_container.databricks_container.id
  role_definition_name = "Storage Blob Data Contributor"
  principal_id         = databricks_metastore.this.metastore_principal_id
}

4. 尝试跳过配额检查(测试用)

若确认目标区域无配额限制,可在资源块中添加skip_quota_check参数绕开检查(需确保Databricks提供者版本支持):

resource "databricks_metastore" "this" {
  name               = "databricksmetastore"
  storage_root       = "abfss://databrickscontainerrr@databricksstorageee.dfs.core.windows.net/"
  region             = "westeurope"
  owner              = "<账户管理员邮箱或服务主体ID>"
  skip_quota_check   = true
}

5. 更新Databricks提供者版本

旧版本提供者可能存在配额检查的API调用bug,升级到最新稳定版:

terraform {
  required_providers {
    databricks = {
      source  = "databricks/databricks"
      version = ">= 1.20.0"
    }
  }
}

内容的提问来源于stack exchange,提问作者george-ognyanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:32:31