Partilhar via


Integração Terraform

Você pode gerenciar pastas Databricks Git em um ambiente totalmente automatizado usando o Terraform e o recurso databricks_repo Terraform. Em seu arquivo de configuração Terraform (.tf), defina databricks_repo a URL do repositório Git que você usará para sua(s) pasta(s) Git:

resource "databricks_repo" "this" {
  url = "https://github.com/user/demo.git"
}

Para usar uma entidade de serviço do Azure Databricks com credenciais Git específicas, adicione a seguinte configuração de provedores e recursos:

  1. Defina o provedor databricks para a URL do seu espaço de trabalho do Azure Databricks. Você definirá o token databricks_obo_token de acesso em outra etapa.
  provider "databricks" {
    # Configuration options
  }

  # Example 'databricks' provider configuration
  provider "databricks" {
    alias = "sp"
    host = "https://....cloud.databricks.com"
    token = databricks_obo_token.this.token_value
  }
  1. Defina os recursos para o principal de serviço do Azure Databricks e o token de autorização. Você pode encontrar o nome da entidade de serviço no console da conta do Azure Databricks em Gestão de utilizadores> Entidades de serviço.
  resource "databricks_service_principal" "sp" {
    display_name = "<service_principal_name_here>"
  }
  1. Defina o token de autorização para a sua conta principal da aplicação do Azure Databricks usando o ID da aplicação correspondente. Você pode encontrar a ID da aplicação da entidade de serviço no console da conta do Azure Databricks em Gestão de utilizadores>Entidades de serviço.
  resource "databricks_obo_token" "this" {
    application_id   = databricks_service_principal.sp.application_id
    comment          = "PAT on behalf of ${databricks_service_principal.sp.display_name}"
    lifetime_seconds = 3600
  }
  1. Defina as credenciais do Git que o principal de serviço usará para aceder ao espaço de trabalho do Azure Databricks.
  resource "databricks_git_credential" "sp" {
    provider = databricks.sp
    depends_on = [databricks_obo_token.this]
    git_username          = "<the_git_user_account_used_by_the_servcie_principal>"
    git_provider          = "<your_git_provider_string here>"
    personal_access_token = "<auth_token_string_for_git_user>"
  }

Ler mais