Integração com o Terraform
O senhor pode gerenciar as pastas Git do Databricks em um ambiente totalmente automatizado usando o Terraform e o recurso databricks_repo Terraform. No arquivo de configuração do Terraform (.tf
), defina databricks_repo
como o 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 Databricks com credenciais Git específicas, adicione a seguinte configuração de provedores e recurso:
- Defina o provedor
databricks
como o URL de seu Databricks workspace. O senhor definirá os tokens de acessodatabricks_obo_token
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
}
- Defina o recurso para a Databricks entidade de serviço e os tokens de autorização. O nome da entidade de serviço pode ser encontrado no console Databricks account em User management > entidade de serviço .
resource "databricks_service_principal" "sp" {
display_name = "<service_principal_name_here>"
}
- Defina os tokens de autorização para sua Databricks entidade de serviço account usando o ID do aplicativo para ela. O ID do aplicativo da entidade de serviço pode ser encontrado no console Databricks account em User management > entidade 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
}
- Defina as credenciais Git que a entidade de serviço usará para acessar seu Databricks workspace.
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>"
}