Implementar um espaço de trabalho Azure Databricks com Terraform

A seguinte configuração da amostra utiliza o azurerm fornecedor Terraform para implantar um espaço de trabalho Azure Databricks. Assume que assinou contrato com o Azure az login () na sua máquina local com um utilizador Azure que tem Contributor direitos sobre a sua subscrição.

Para obter mais informações sobre o azurerm plugin Terraform para Databricks, consulte azurerm_databricks_workspace.

Importante

O fornecedor Databricks Terraform não é formalmente suportado por Databricks ou Microsoft. É mantido pelas equipas de engenharia de campo Databricks e é fornecido como está. Não existe nenhum acordo de nível de serviço (SLA). Databricks não garante qualquer tipo de garantia. Se descobrir um problema com o fornecedor, preencha um GitHub Issue, e será revisto pelos manutenção do projeto à medida que o tempo o permitir.

Configuração simples

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}/"
}

Configuração do fornecedor

Na Gestão de um espaço de trabalho de ponta a ponta utilizando o Terraform,utilize as configurações especiais para Azure:

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