Terraform databricks 无法配置默认凭据

问题描述 投票:0回答:1

我们正在通过 Azure 管道运行 Terraform 以创建数据块工作区和相关资源,但是当 Terraform 的应用阶段到达它正在获取最新版本的 Spark 的阶段时,该过程会抛出错误。

错误是:

│ Error: default auth: cannot configure default credentials. Config: profile=DEFAULT, azure_client_secret=***, azure_client_id=***, azure_tenant_id=*****-*****. Env: ARM_CLIENT_SECRET, ARM_CLIENT_ID, ARM_TENANT_ID
│ 
│   with data.databricks_spark_version.latest_lts,
│   on databricks.tf line 33, in data "databricks_spark_version" "latest_lts":
│   33: data "databricks_spark_version" "latest_lts" {
│ 

我们正在使用在 Azure AD 中创建的服务主体,并在我们的数据块帐户中被授予帐户管理员角色

我们在变量文件中声明了 databricks_connection_profile:

databricks_connection_profile = "DEFAULT"

似乎有问题的部分是底部的 databricks_spark_version:

resource "azurerm_databricks_workspace" "dbw-uks" {
  name                = "dbw-uks"
  resource_group_name = azurerm_resource_group.rg-dataanalytics-uks-0002.name
  location            = azurerm_resource_group.rg-dataanalytics-uks-0002.location
  sku                 = "standard"

  depends_on = [
    azuread_service_principal.Databricks
  ]

  tags                = "${merge( local.common_tags, local.extra_tags)}"
}


output "databricks_host" {
  value = "https://${azurerm_databricks_workspace.dbw-uks.workspace_url}/"  
}

# #--------------- dbr-dataanalytics-uks-0002 Cluster ---------------#

data "databricks_node_type" "smallest" {
  local_disk = true

  depends_on = [
    azurerm_databricks_workspace.dbw-uks
  ]
}

data "databricks_spark_version" "latest_lts" {
   long_term_support = true

   depends_on = [
    azurerm_databricks_workspace.dbw-uks
  ]
}

我们已经遵循了 Microsoft 和 Hashicorp 的各种教程,但到目前为止没有积极的结果。

azure-pipelines databricks azure-databricks terraform-provider-azure terraform-provider-databricks
1个回答
0
投票

实际上,如果您使用服务主体创建 Databricks 工作区,您可以继续使用它来访问/创建 Databricks 资源和数据源。您不需要指定

databricks_connection_profile
& 只需要通过为服务主体身份验证提供主机和其他必要属性来 正确配置提供者身份验证 - Databricks Terraform 提供者使用与
azurerm
提供者相同的环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.