Развертывание рабочей области Azure Databricks с помощью terraform

В следующем примере конфигурации azurerm для развертывания Azure Databricks рабочей области используется поставщик terraform. Предполагается, что вы вошли в Azure ( az login ) на локальном компьютере с учетной записью пользователя Azure, обладающего Contributor правами на вашу подписку.

Дополнительные сведения о azurerm подключаемом модуле terraform для модулей данных см. в разделе azurerm_databricks_workspace.

Важно!

Поставщик Terraformа блоков MSIL формально не поддерживается модулями или корпорацией Майкрософт. Он поддерживается группами инженеров по разработке полей и предоставляется как есть. Соглашение об уровне обслуживания (SLA) отсутствует. Модуль данных не предоставляет никаких гарантий. Если вы обнаружите ошибку в работе поставщика, заполните файл сообщением GitHub, и он будет просмотрен специалистами по обслуживанию проекта как разрешенное время.

Простая настройка.

terraform {
  required_providers {
    azurerm =  "~> 2.33"
    random = "~> 2.2"
  }
}

provider "azurerm" {
  features {}
}

variable "region" {
  type = string
  default = "westeurope"
}

resource "random_string" "naming" {
  special = false
  upper   = false
  length  = 6
}

data "azurerm_client_config" "current" {
}

data "external" "me" {
  program = ["az", "account", "show", "--query", "user"]
}

locals {
  prefix = "databricksdemo${random_string.naming.result}"
  tags = {
    Environment = "Demo"
    Owner       = lookup(data.external.me.result, "name")
  }
}

resource "azurerm_resource_group" "this" {
  name     = "${local.prefix}-rg"
  location = var.region
  tags     = local.tags
}

resource "azurerm_databricks_workspace" "this" {
  name                        = "${local.prefix}-workspace"
  resource_group_name         = azurerm_resource_group.this.name
  location                    = azurerm_resource_group.this.location
  sku                         = "premium"
  managed_resource_group_name = "${local.prefix}-workspace-rg"
  tags                        = local.tags
}

output "databricks_host" {
  value = "https://${azurerm_databricks_workspace.this.workspace_url}/"
}

Конфигурация поставщика

В области Управление рабочей областью с помощью terraformиспользуйте Специальные конфигурации для Azure.

provider "databricks" {
  azure_workspace_resource_id = azurerm_databricks_workspace.this.id
}