我们正在通过 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 的各种教程,但到目前为止没有积极的结果。
实际上,如果您使用服务主体创建 Databricks 工作区,您可以继续使用它来访问/创建 Databricks 资源和数据源。您不需要指定
databricks_connection_profile
& 只需要通过为服务主体身份验证提供主机和其他必要属性来 正确配置提供者身份验证 - Databricks Terraform 提供者使用与 azurerm
提供者相同的环境变量。