Partilhar via


Referência de configuração

Este artigo fornece referência para chaves suportadas pela configuração do Databricks Asset Bundles (YAML). Consulte O que são Databricks Asset Bundles?.

Para obter exemplos completos de pacotes, consulte Exemplos de configuração de pacotes e o repositório GitHub exemplos de pacotes.

artefatos

Type: Map

Especifica os artefactos a construir automaticamente durante implementações de bundles que podem ser usados mais tarde em execuções de bundle. Cada chave é o nome do artefacto, e o valor é um Mapa que define as definições da construção do artefacto.

Sugestão

Você pode definir, combinar e substituir as configurações de artefatos em pacotes, conforme descrito em Substituir com configurações de destino.

Adicionado na versão 0.229.0 da CLI Databricks

artifacts:
  <artifact-name>:
    <artifact-field-name>: <artifact-field-value>
Chave Tipo Descrição
build Cordão Um conjunto opcional de comandos de compilação para executar localmente antes da implantação. Para as compilações de Python wheel, a CLI do Databricks assume que pode encontrar uma instalação local do pacote Python wheel para executar as compilações e executa o comando python setup.py bdist_wheel por padrão durante cada implementação de bundle. Especifique vários comandos de compilação em linhas separadas.
Adicionado na versão 0.229.0 da CLI Databricks
dynamic_version booleano Se a versão do wheel deve ser ajustada dinamicamente com base no carimbo de data/hora do ficheiro whl. Se isso estiver definido como true, o novo código poderá ser implantado sem a necessidade de atualizar a versão em setup.py ou pyproject.toml. Essa configuração só é válida quando type definida como whl.
Adicionado na versão 0.245.0 da CLI Databricks
executable Cordão O tipo executável. Os valores válidos são bash, she cmd.
Adicionado na versão 0.229.0 da CLI Databricks
files Sequência O caminho relativo ou absoluto para os arquivos de artefato gerados. Veja artefactos.nome.ficheiros.
Adicionado na versão 0.229.0 da CLI Databricks
path Cordão O caminho local do diretório para o artefato. Os caminhos são relativos ao local do arquivo de configuração do pacote. Para compilações de roda Python, é o caminho para o arquivo de roda Python setup.py . Se path não estiver incluído, a CLI do Databricks tentará encontrar o ficheiro de roda Python setup.py na raiz do pacote.
Adicionado na versão 0.229.0 da CLI Databricks
type Cordão Necessário se o artefato for uma roda Python. O tipo do artefato. Os valores válidos são whl e jar. Esta configuração não precisa de ser especificada para construir outros artefactos.
Adicionado na versão 0.229.0 da CLI Databricks

Exemplos

A seguinte configuração constrói uma roda Python usando Poesia:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

A configuração seguinte executa testes e constrói uma roda. Para obter um tutorial completo do pacote que usa artifacts para construir uma roda, consulte Criar um arquivo de roda Python usando Databricks Asset Bundles.

artifacts:
  default:
    type: whl
    build: |-
      # run tests
      python -m pytest tests/ -v

      # build the actual artifact
      python setup.py bdist_wheel

    path: .

Para obter um exemplo de configuração que cria um JAR e o carrega no Unity Catalog, consulte Bundle que carrega um arquivo JAR no Unity Catalog.

artefactos. name.files

Type: Sequence

O caminho relativo ou absoluto para os arquivos de artefato gerados. source Use para especificar os artefactos construídos. Os caminhos são relativos ao local do arquivo de configuração do pacote.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
source Cordão Obrigatório. O arquivo de origem do artefato.
Adicionado na versão 0.229.0 da CLI Databricks

grupo

Type: Map

Os atributos do pacote quando se implanta neste destino.

Um ficheiro de configuração de bundle deve conter apenas um mapeamento de topo bundle .

Esse bundle mapeamento deve conter um name mapeamento que especifique um nome programático (ou lógico) para o pacote. O exemplo a seguir declara um pacote com o nome hello-bundleprogramático (ou lógico) .

bundle:
  name: hello-bundle

Um bundle mapeamento também pode ser filho de um ou mais dos alvos no mapeamento de alvos de nível superior. Cada um desses mapeamentos filho bundle especifica quaisquer substituições não padrão no nível de destino.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
cluster_id Cordão A ID de um cluster a ser usada para executar o pacote. Esta chave permite-lhe especificar o ID de um cluster a usar como substituição para clusters definidos noutros locais do ficheiro de configuração do bundle. Para obter informações sobre como recuperar a ID de um cluster, consulte URL e ID do recurso de computação.
A cluster_id substituição destina-se apenas a cenários de desenvolvimento e só é suportada para o alvo cujo mode mapeamento está definido como development. Para obter mais informações sobre o target mapeamento, consulte destinos.
Adicionado na versão 0.229.0 da CLI Databricks
compute_id Cordão Preterido. O ID da computação a ser usado para executar o bundle.
Adicionado na versão 0.229.0 da CLI Databricks
databricks_cli_version Cordão A versão da CLI do Databricks a ser usada para o pacote. Vê bundle.databricks_cli_version.
Adicionado na versão 0.229.0 da CLI Databricks
deployment Mapa A definição da implantação do pacote. Para obter os atributos suportados, consulte Modos de implantação do Databricks Asset Bundle. Consulte bundle.deployment.
Adicionado na versão 0.229.0 da CLI Databricks
git Mapa Os detalhes do controle de versão do Git associados ao seu pacote. Para obter os atributos suportados, consulte git.
Adicionado na versão 0.229.0 da CLI Databricks
name Cordão O nome do pacote.
Adicionado na versão 0.229.0 da CLI Databricks
uuid Cordão Reservado. Um identificador universalmente exclusivo (UUID) para o pacote que identifica exclusivamente o pacote em sistemas internos do Databricks. Isso é gerado quando um projeto de pacote é inicializado usando um modelo Databricks (usando o comando databricks bundle init).
Adicionado na versão 0.236.0 da CLI do Databricks

bundle.databricks_cli_version

O bundle mapeamento pode conter um databricks_cli_version mapeamento que restringe a versão da CLI do Databricks exigida pelo pacote. Isso pode evitar problemas causados pelo uso de mapeamentos que não são suportados em uma determinada versão da CLI do Databricks.

A versão da CLI do Databricks está em conformidade com o controle de versão semântico e o mapeamento suporta a databricks_cli_version especificação de restrições de versão. Se o valor atual databricks --version não estiver dentro dos limites especificados no mapeamento do databricks_cli_version pacote, ocorrerá um erro quando databricks bundle validate for executado no pacote. Os exemplos a seguir demonstram algumas sintaxe de restrição de versão comum:

bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.0' # require Databricks CLI 0.218.0
bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.*' # allow all patch versions of Databricks CLI 0.218
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0' # allow any version of Databricks CLI 0.218.0 or higher
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0, <= 1.0.0' # allow any Databricks CLI version between 0.218.0 and 1.0.0, inclusive

bundle.deployment

Type: Map

A definição da implantação do pacote

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
fail_on_active_runs booleano Se deve ocorrer falhas nas execuções ativas. Se isso for definido como true, uma implantação em execução poderá ser interrompida.
Adicionado na versão 0.229.0 da CLI Databricks
lock Mapa Os atributos de bloqueio de implementação. Consulte bundle.deployment.lock.
Adicionado na versão 0.229.0 da CLI Databricks

bundle.deployment.lock

Type: Map

Os atributos de bloqueio de implementação.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
enabled booleano Se este bloqueio está ativado.
Adicionado na versão 0.229.0 da CLI Databricks
force booleano Se este bloqueio deve ser forçado se estiver ativado.
Adicionado na versão 0.229.0 da CLI Databricks

Experimentais

Type: Map

Define os atributos para funcionalidades experimentais.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
python Mapa Preterido. Em vez disso, use o mapeamento python de nível superior.
Adicionado na versão 0.238.0 da CLI do Databricks
python_wheel_wrapper booleano Se deve usar um invólucro de roda Python.
Adicionado na versão 0.229.0 da CLI Databricks
scripts Mapa Os comandos a serem executados.
Adicionado na versão 0.229.0 da CLI Databricks
skip_artifact_cleanup booleano Determina se deve saltar a eliminação da .internal pasta dentro workspace.artifact_pathde . Por defeito, esta pasta é eliminada antes de carregar novos artefactos de compilação (como rodas em Python) durante a implementação. Definido para true preservar artefactos existentes ao longo das implementações.
Adicionado na versão 0.254.0 da CLI do Databricks
skip_name_prefix_for_schema booleano Se deve saltar a adição do prefixo (definido em presets.name_prefix ou calculado quando mode: development) aos nomes dos esquemas do Catálogo Unity definidos no conjunto.
Adicionado na CLI Databricks versão 0.255.0
use_legacy_run_as booleano Decidir se deve ser usado o comportamento herdado de run_as.
Adicionado na versão 0.229.0 da CLI Databricks

incluem

Type: Sequence

Especifica uma lista de globs de caminho que contêm arquivos de configuração a serem incluídos no pacote. Esses padrões de caminho são relativos ao local do ficheiro de configuração do bundle no qual os padrões de caminho são especificados. Para além de databricks.yml, deve usar o include array para especificar todos os ficheiros de configuração a incluir no bundle.

Sugestão

Para incluir ou excluir outros ficheiros no pacote, use incluir e excluir.

Essa include matriz pode aparecer apenas como um mapeamento de nível superior.

Adicionado na versão 0.229.0 da CLI Databricks

O exemplo de configuração a seguir inclui três arquivos de configuração. Esses arquivos estão na mesma pasta que o arquivo de configuração do pacote:

include:
  - 'bundle.artifacts.yml'
  - 'bundle.resources.yml'
  - 'bundle.targets.yml'

O exemplo de configuração a seguir inclui todos os arquivos com nomes de arquivo que começam com bundle e terminam com .yml. Esses arquivos estão na mesma pasta que o arquivo de configuração do pacote:

include:
  - 'bundle*.yml'

permissões

Type: Sequence

Define as permissões a aplicar a recursos definidos no bundle, onde cada item na sequência é uma permissão para uma entidade específica. Consulte Definir permissões para recursos em Databricks Asset Bundles.

Os níveis de permissão de nível superior permitidos são CAN_VIEW, CAN_MANAGEe CAN_RUN.

Se quiser aplicar permissões a um recurso específico, consulte Definir permissões para um recurso específico.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
group_name Cordão O nome do grupo que tem a permissão definida em nível.
Adicionado na versão 0.229.0 da CLI Databricks
level Cordão A permissão permitida para o utilizador, grupo ou principal de serviço é definida para esta permissão. Os valores válidos para essa chave são diferentes, dependendo se as permissões são definidas no nível superior do pacote ou para um recurso específico. Consulte Definir permissões para recursos em Databricks Asset Bundles.
Adicionado na versão 0.229.0 da CLI Databricks
service_principal_name Cordão O nome do principal de serviço que tem a permissão definida em nível.
Adicionado na versão 0.229.0 da CLI Databricks
user_name Cordão O nome do utilizador que tem a permissão definida ao nível.
Adicionado na versão 0.229.0 da CLI Databricks

Exemplo

O seguinte exemplo de configuração define níveis de permissões para um utilizador, grupo e principal de serviço, que são aplicados a todos os recursos definidos em resources no pacote:

permissions:
  - level: CAN_VIEW
    group_name: test-group
  - level: CAN_MANAGE
    user_name: someone@example.com
  - level: CAN_RUN
    service_principal_name: 123456-abcdef

predefinições

Type: Map

Define predefinições de implantação de pacote. Para mais informações, consulte Predefinições personalizadas.

A menos que seja especificada uma exceção para um preset, se ambos mode e presets estiverem definidos, os presets sobrepõem-se ao comportamento do modo padrão, e as definições dos recursos individuais sobrepõem-se aos presets.

Adicionado na versão 0.229.0 da CLI Databricks

Preset Descrição
artifacts_dynamic_version Se deseja atualizar dinamicamente a versão dos whl artefatos durante a implementação. Os valores válidos são true ou false. Se a definição de configuração artifacts.dynamic_version de nível superior for especificada, ela substituirá essa predefinição.
Adicionado na CLI Databricks versão 0.256.0
jobs_max_concurrent_runs O número de execuções simultâneas máximo permitido para tarefas.
Adicionado na versão 0.229.0 da CLI Databricks
name_prefix A cadeia de caracteres de prefixo a adicionar aos nomes de recursos.
Adicionado na versão 0.229.0 da CLI Databricks
pipelines_development Se as implantações de pipeline devem ser bloqueadas no modo de desenvolvimento. Os valores válidos são true ou false.
Adicionado na versão 0.229.0 da CLI Databricks
source_linked_deployment Se os recursos criados durante a implementação apontam para ficheiros fonte no espaço de trabalho em vez das cópias do espaço de trabalho.
Adicionado na versão 0.236.0 da CLI do Databricks
tags Um conjunto de etiquetas chave:valor que se aplica a todos os recursos que aceitam etiquetas, incluindo trabalhos e experiências. Os Asset Bundles do Databricks não suportam etiquetas para o schema recurso.
Adicionado na versão 0.229.0 da CLI Databricks
trigger_pause_status Um estado de pausa para aplicar a todos os gatilhos e agendamentos. Os valores válidos são PAUSED ou UNPAUSED.
Se mode estiver definido como development, trigger_pause_status é sempre PAUSED.
Adicionado na versão 0.229.0 da CLI Databricks

píton

Type: Map

Configura o carregamento do código Python definido com o pacote databricks-bundles. Para obter mais informações, consulte Configuração do pacote em Python.

Transferido da experimental versão 0.275.0 da CLI Databricks

Chave Tipo Descrição
mutators Sequência Mutadores contém uma lista de caminhos de função totalmente qualificados para funções mutadoras, como [my_project.mutators:add_default_cluster].
Adicionado na versão 0.238.0 da CLI do Databricks
resources Sequência Recursos contém uma lista de caminhos de função totalmente qualificados para carregar recursos definidos no código Python, como ["my_project.resources:load_resources"]
Adicionado na versão 0.238.0 da CLI do Databricks
venv_path Cordão O caminho para o ambiente virtual. Se ativado, o código Python é executado dentro deste ambiente. Se desativado, o padrão é usar o interpretador Python disponível no shell atual.
Adicionado na versão 0.238.0 da CLI do Databricks

Recursos

Type: Map

Define os recursos para o bundle, onde cada chave é o nome do recurso, e o valor é um Map que define o recurso. Para obter mais informações sobre os recursos do Databricks Asset Bundles suportados e a referência de definição de recursos, consulte recursos do Databricks Asset Bundles.

O resources mapeamento pode aparecer como um mapeamento de topo, ou pode ser filho de um ou mais dos alvos no mapeamento de alvos de topo, e inclui zero ou um dos tipos de recursos suportados. Cada mapeamento de tipo de recurso inclui uma ou mais declarações de recursos individuais, que devem ter um nome exclusivo. Essas declarações de recurso individuais usam a carga útil de solicitação da operação create do objeto correspondente, expressa em YAML, para definir o recurso. As propriedades suportadas para um recurso são os campos suportados do objeto correspondente.

As payloads de solicitação de operação de criação estão documentadas na Referência da API REST do Databricks, e o comando databricks bundle schema gera todos os esquemas de objetos suportados. Além disso, o databricks bundle validate comando retorna avisos se propriedades de recursos desconhecidas forem encontradas nos arquivos de configuração do pacote.

Para obter mais informações sobre recursos suportados em bundles, bem como configurações e exemplos comuns, consulte Recursos do Databricks Asset Bundles e Exemplos de Configuração do Bundle.

Adicionado na versão 0.229.0 da CLI Databricks

resources:
  <resource-type>:
    <resource-name>:
      <resource-field-name>: <resource-field-value>
Chave Tipo Descrição
alerts Mapa As definições de alerta (v2) para o bundle, onde cada chave é o nome do alerta. Ver alerta.
Adicionado na versão 0.279.0 da CLI Databricks
apps Mapa As definições do aplicativo Databricks para o pacote, onde cada chave é o nome do aplicativo. Consulte aplicativo.
Adicionado na versão 0.239.0 da CLI do Databricks
catalogs Mapa As definições de catálogo (Unity Catalog) para o pacote, onde cada chave é o nome de um catálogo. Ver catálogos.
Adicionado na CLI Databricks versão 0.287.0
clusters Mapa As definições de cluster para o pacote, onde cada chave é o nome de um cluster. Consulte cluster.
Adicionado na versão 0.229.0 da CLI Databricks
dashboards Mapa As definições do dashboard para o pacote, onde cada chave é o nome do dashboard. Consulte painel de controle.
Adicionado na versão 0.232.0 da CLI do Databricks
database_catalogs Mapa As definições de catálogo de banco de dados para o pacote, onde cada chave é o nome do catálogo de banco de dados. Veja database_catalog.
Adicionado na versão 0.265.0 da CLI do Databricks
database_instances Mapa As definições de instância de banco de dados para o pacote, onde cada chave é o nome da instância de banco de dados. Ver database_instance.
Adicionado na versão 0.265.0 da CLI do Databricks
experiments Mapa As definições do experimento para o pacote, onde cada chave é o nome do experimento. Ver experimento.
Adicionado na versão 0.229.0 da CLI Databricks
jobs Mapa As definições de trabalho para o pacote, sendo cada chave correspondente ao nome de um trabalho. Ver trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
model_serving_endpoints Mapa O modelo que serve as definições de ponto de extremidade para o pacote, onde cada chave é o nome do modelo que serve o ponto de extremidade. Consulte model_serving_endpoint.
Adicionado na versão 0.229.0 da CLI Databricks
models Mapa As definições de modelo para o pacote, onde cada chave é o nome do modelo. Ver modelo (legado).
Adicionado na versão 0.229.0 da CLI Databricks
pipelines Mapa As definições de pipeline do pacote, em que cada chave corresponde ao nome do pipeline. Veja o pipeline.
Adicionado na versão 0.229.0 da CLI Databricks
postgres_branches Mapa As definições dos ramos de Postgres para o fibrado, onde cada chave é o nome do ramo de Lakebase. Veja postgres_branch.
Adicionado na CLI Databricks versão 0.287.0
postgres_endpoints Mapa As definições dos endpoints Postgres para o bundle, onde cada chave é o nome do endpoint de computação Lakebase. Vê postgres_endpoint.
Adicionado na CLI Databricks versão 0.287.0
postgres_projects Mapa As definições do projeto Postgres para o conjunto, onde cada chave é o nome do projeto Lakebase. Veja postgres_project.
Adicionado na CLI Databricks versão 0.287.0
quality_monitors Mapa As definições do monitor de qualidade para o pacote, em que cada chave representa o nome do monitor de qualidade. Consulte quality_monitor (Catálogo Unity).
Adicionado na versão 0.229.0 da CLI Databricks
registered_models Mapa As definições de modelo registrado para o pacote, onde cada chave é o nome do modelo registrado do Catálogo Unity. Consulte registered_model (Catálogo Unity).
Adicionado na versão 0.229.0 da CLI Databricks
schemas Mapa As definições de esquema para o pacote, onde cada chave é o nome do esquema. Consulte o esquema (Catálogo Unity).
Adicionado na versão 0.229.0 da CLI Databricks
secret_scopes Mapa As definições de escopo secreto para o pacote, onde cada chave é o nome do escopo secreto. Ver secret_scope.
Adicionado na versão 0.252.0 da CLI do Databricks
sql_warehouses Mapa As definições do armazém de dados SQL para o conjunto, onde cada chave é o nome do armazém de dados SQL. Veja sql_warehouse.
Adicionado na versão 0.260.0 da CLI Databricks
synced_database_tables Mapa As definições de tabela de banco de dados sincronizado para o pacote, onde cada chave é o nome da tabela de banco de dados. Ver synced_database_table.
Adicionado na CLI Databricks versão 0.266.0
volumes Mapa As definições de volume para o conjunto, onde cada chave é o nome do volume. Consulte volume (Catálogo Unity).
Adicionado na versão 0.236.0 da CLI do Databricks

Exemplo

O exemplo de configuração a seguir define um recurso de trabalho:

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          existing_cluster_id: 1234-567890-abcde123
          notebook_task:
            notebook_path: ./hello.py

executar como

Type: Map

A identidade (user_name ou service_principal_name) a usar para executar fluxos de trabalho do Databricks Asset Bundles. Ele fornece a capacidade de separar a identidade usada para implantar um trabalho ou pipeline de pacote daquela usada para executá-lo. Consulte Especificar uma identidade de execução para um workflow de Databricks Asset Bundles.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
service_principal_name Cordão O ID da aplicação de um principal de serviço ativo. A definição deste campo requer a função servicePrincipal/user.
Adicionado na versão 0.229.0 da CLI Databricks
user_name Cordão O e-mail de um usuário ativo do espaço de trabalho. Os utilizadores não administradores só podem definir este campo para o seu próprio e-mail.
Adicionado na versão 0.229.0 da CLI Databricks

roteiros

Type: Map

Os scripts que podem ser executados usando bundle run. Cada script nomeado no scripts mapeamento contém conteúdo com comandos. Consulte Executar scripts.

Adicionado na versão 0.259.0 da CLI Databricks

scripts:
  <script-name>:
    <script-field-name>: <script-field-value>
Chave Tipo Descrição
content Cordão Os comandos a serem executados
Adicionado na versão 0.259.0 da CLI Databricks

Exemplos

scripts:
  my_script:
    content: uv run pytest -m ${bundle.target}

sincronização

Type: Map

Os arquivos e caminhos de arquivo a serem incluídos ou excluídos no pacote.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
exclude Sequência Uma lista de arquivos ou pastas a serem excluídos do pacote. Veja incluir e excluir.
Adicionado na versão 0.229.0 da CLI Databricks
include Sequência Uma lista de arquivos ou pastas a serem incluídos no pacote. Veja incluir e excluir.
Adicionado na versão 0.229.0 da CLI Databricks
paths Sequência Os caminhos das pastas locais, que podem estar fora da raiz do pacote, devem ser sincronizados com o espaço de trabalho quando o pacote for implantado. Ver sync.paths.
Adicionado na versão 0.229.0 da CLI Databricks

incluir e excluir

Os mapeamentos de include e exclude dentro do mapeamento de sync especificam uma lista de arquivos ou pastas a serem incluídos ou excluídos de implantações de pacote, dependendo das seguintes regras:

  • A partir de qualquer lista de globs de ficheiro e de caminho num ficheiro .gitignore na raiz do pacote, o mapeamento include pode conter uma lista de globs de ficheiro, globs de caminho ou ambos, relativos à raiz do pacote, para inclusão explícita.
  • Com base em qualquer lista de padrões de pesquisa de ficheiros e caminhos num ficheiro .gitignore na raiz do pacote, além da lista de padrões de pesquisa de ficheiros e caminhos no mapeamento include, o mapeamento exclude pode conter uma lista de padrões de pesquisa de ficheiros, padrões de pesquisa de caminhos ou ambos, relativamente à raiz do pacote, para excluir explicitamente.

Todos os caminhos para arquivos e pastas especificados são relativos ao local do arquivo de configuração do pacote no qual eles são especificados.

A sintaxe para padrões de arquivo e caminho include e exclude segue a sintaxe padrão .gitignore. Consulte Formato de padrões gitignore.

Por exemplo, se o seguinte .gitignore ficheiro contiver as seguintes entradas:

.databricks
my_package/dist

E o arquivo de configuração do conjunto contém o seguinte include mapeamento:

sync:
  include:
    - my_package/dist/*.whl

Em seguida, todos os arquivos na my_package/dist pasta com uma extensão de arquivo de *.whl estão incluídos. Quaisquer outros arquivos na my_package/dist pasta não estão incluídos.

No entanto, se o arquivo de configuração do pacote também contiver o seguinte exclude mapeamento:

sync:
  include:
    - my_package/dist/*.whl
  exclude:
    - my_package/dist/delete-me.whl

Em seguida, todos os arquivos na my_package/dist pasta com uma extensão de arquivo de *.whl, exceto o arquivo chamado delete-me.whl, são incluídos. Quaisquer outros arquivos na my_package/dist pasta também não estão incluídos.

O sync mapeamento também pode ser declarado no targets mapeamento para um alvo específico. Qualquer sync mapeamento declarado num destino é combinado com qualquer declaração de mapeamento ao nível sync superior. Por exemplo, continuando com o exemplo anterior, o mapeamento a seguir include no nível targets mescla com o include mapeamento no mapeamento de nível superior sync.

targets:
  dev:
    sync:
      include:
        - my_package/dist/delete-me.whl

sync.paths

O sync mapeamento pode conter um paths mapeamento que especifica caminhos locais para sincronizar com o espaço de trabalho. O paths mapeamento permite que você compartilhe arquivos comuns entre pacotes e pode ser usado para sincronizar arquivos localizados fora da raiz do pacote. (A raiz do pacote é o local do arquivo databricks.yml.) Isso é especialmente útil quando você tem um único repositório que hospeda vários pacotes e deseja compartilhar bibliotecas, arquivos de código ou configuração.

Os caminhos especificados devem ser relativos a arquivos e diretórios ancorados na pasta onde o paths mapeamento está definido. Se um ou mais valores de caminho atravessarem o diretório até um ancestral da raiz do conjunto, o caminho raiz será determinado dinamicamente para assegurar que a estrutura das pastas permaneça intacta. Por exemplo, se a pasta raiz do bundle for nomeada my_bundle, então esta configuração sincroniza a pasta databricks.yml localizada um nível acima da pasta raiz do bundle e a própria pasta raiz do bundle:

sync:
  paths:
    - ../common
    - .

Uma implantação desse pacote resulta na seguinte estrutura de pastas no espaço de trabalho:

common/
  common_file.txt
my_bundle/
  databricks.yml
  src/
    ...

Objetivos

Type: Map

Define os contextos de alvo de implementação para o pacote. Cada alvo é uma coleção única de artefactos, definições de espaço de trabalho do Azure Databricks e, por vezes, detalhes específicos de recursos do alvo.

O targets mapeamento consiste em um ou mais mapeamentos alvo, e cada um deve ter um nome programático (ou lógico) exclusivo. Este mapeamento é opcional, mas altamente recomendado.

As definições dentro do targets mapeamento têm prioridade sobre as definidas no espaço de trabalho de topo, artefactos e mapeamentos de recursos .

Um destino também pode substituir os valores de quaisquer variáveis de nível superior.

Adicionado na versão 0.229.0 da CLI Databricks

targets:
  <target-name>:
    <target-field-name>: <target-field-value>
Chave Tipo Descrição
artifacts Mapa Os artefatos a serem incluídos na implantação de destino. Veja artefatos.
Adicionado na versão 0.229.0 da CLI Databricks
bundle Mapa Os atributos do pacote quando se implanta neste destino. Ver pacote.
Adicionado na versão 0.229.0 da CLI Databricks
cluster_id Cordão O ID do cluster a ser usado para este destino.
Adicionado na versão 0.229.0 da CLI Databricks
compute_id Cordão Preterido. O ID da computação a utilizar para este destino.
default booleano Se esse destino é o destino padrão. Veja os alvos.nome.default.
Adicionado na versão 0.229.0 da CLI Databricks
git Mapa As definições de controlo de versão do Git para o alvo. Veja git.
Adicionado na versão 0.229.0 da CLI Databricks
mode Cordão O modo de implantação para o destino alvo. Os valores válidos são development ou production. Veja os alvos.name.mode e Databricks Asset Bundle.
Adicionado na versão 0.229.0 da CLI Databricks
permissions Sequência As permissões para implantar e executar o pacote no destino. Consulte as permissões.
Adicionado na versão 0.229.0 da CLI Databricks
presets Mapa As predefinições de implantação para o alvo. Veja as metas.nome.predefinições.
Adicionado na versão 0.229.0 da CLI Databricks
resources Mapa As definições de recursos para o alvo. Consulte os recursos.
Adicionado na versão 0.229.0 da CLI Databricks
run_as Mapa A identidade a ser usada para executar o pacote. Veja run_as e Especifique uma identidade de execução para um fluxo de trabalho Databricks Asset Bundles.
Adicionado na versão 0.229.0 da CLI Databricks
sync Mapa Os percursos locais para sincronizar com o espaço de trabalho de destino quando um pacote é executado ou implantado. Veja sync.
Adicionado na versão 0.229.0 da CLI Databricks
variables Mapa As definições de variáveis personalizadas para o destino. Veja variáveis.
Adicionado na versão 0.229.0 da CLI Databricks
workspace Mapa O espaço de trabalho Databricks para o alvo. Veja o espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks

alvos. name.default

Para especificar um padrão de destino para comandos de agrupamento, defina o mapeamento de default para true. Por exemplo, esse destino chamado dev é o destino padrão:

targets:
  dev:
    default: true

Se um destino padrão não estiver configurado, ou caso deseje validar, desdobrar e executar trabalhos ou pipelines num destino específico, utilize a opção -t dos comandos bundle.

Comandos a seguir validam, implantam e executam my_job nos alvos dev e prod:

databricks bundle validate
databricks bundle deploy -t dev
databricks bundle run -t dev my_job
databricks bundle validate
databricks bundle deploy -t prod
databricks bundle run -t prod my_job

O seguinte exemplo declara dois alvos. O primeiro destino tem o nome dev e é o destino padrão usado quando nenhum destino é especificado para comandos de pacote. O segundo destino tem o nome prod e é usado somente quando esse destino é especificado para comandos bundle.

targets:
  dev:
    default: true
  prod:
    workspace:
      host: https://<production-workspace-url>

alvos. name.mode

Para facilitar o desenvolvimento fácil e as práticas recomendadas de CI/CD, o Databricks Asset Bundles fornece modos de implantação para destinos que definem comportamentos padrão para fluxos de trabalho de pré-produção e produção. Alguns comportamentos também são configuráveis usando alvos.name.presets.

Para obter detalhes, consulte Modos de implantação do Databricks Asset Bundle.

Sugestão

Para definir identidades de execução para pacotes, você pode especificar run_as para cada destino, conforme descrito em Especificar uma identidade de execução para um fluxo de trabalho Databricks Asset Bundles.

Para especificar que um destino é tratado como um destino de desenvolvimento, adicione o mode conjunto de mapeamento a development. Para especificar que um destino é tratado como um destino de produção, defina o mapeamento mode para production. Por exemplo, esse destino nomeado prod é tratado como um destino de produção:

targets:
  prod:
    mode: production

alvos. name.presets

Pode personalizar alguns dos comportamentos de implementação mode de alvos usando o presets mapeamento.

Para obter uma lista de predefinições disponíveis, consulte Predefinições personalizadas.

O exemplo a seguir mostra um destino de produção personalizado que prefixa e marca todos os recursos de produção:

targets:
  prod:
    mode: production
    presets:
      name_prefix: 'production_' # prefix all resource names with production_
      tags:
        prod: true

variáveis

Type: Map

Define uma variável personalizada para o pacote. Para cada variável, defina uma descrição opcional, um valor padrão, se a variável personalizada é um tipo complexo, ou uma pesquisa para recuperar um valor de ID, usando o seguinte formato:

variables:
  <variable-name>:
    description: <variable-description>
    default: <optional-default-value>
    type: <optional-type-value> # "complex" is the only valid value
    lookup:
      <optional-object-type>: <optional-object-name>

Observação

As variáveis são assumidas como sendo do tipo string, a menos que type seja definido como complex. Consulte Definir uma variável complexa.

Para fazer referência a uma variável personalizada dentro da configuração do pacote, use a substituição ${var.<variable_name>}.

Para obter mais informações sobre variáveis personalizadas e substituições, consulte Substituições e variáveis em Databricks Asset Bundles.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
default Qualquer O valor padrão para a variável.
Adicionado na versão 0.229.0 da CLI Databricks
description Cordão A descrição da variável.
Adicionado na versão 0.229.0 da CLI Databricks
lookup Mapa O nome do alert, cluster_policy, cluster, dashboard, instance_pool, job, metastore, pipeline, query, service_principalou warehouse objeto para o qual recuperar uma ID. Veja variáveis.nome.pesquisa.
Adicionado na versão 0.229.0 da CLI Databricks
type Cordão O tipo da variável, simples ou complexa. Defina essa chave somente se a variável for complexa. Valores válidos: complex.
Adicionado na versão 0.229.0 da CLI Databricks

variáveis. nome.lookup

Type: Map

O nome do alerta, cluster_policy, cluster, dashboard, instance_pool, tarefa, metastore, pipeline, consulta, principal de serviço, ou objeto de armazém para o qual recuperar um ID. Para obter informações sobre como usar a pesquisa, consulte Recuperar o valor de ID de um objeto.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
alert Cordão O nome do alerta para o qual se deve recuperar o ID.
Adicionado na versão 0.229.0 da CLI Databricks
cluster Cordão O nome do cluster para o qual obter uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
cluster_policy Cordão O nome do cluster_policy para o qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
dashboard Cordão O nome do painel para o qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
instance_pool Cordão O nome do grupo_de_instâncias para o qual recuperar um identificador.
Adicionado na versão 0.229.0 da CLI Databricks
job Cordão O nome da função para a qual recuperar um identificador.
Adicionado na versão 0.229.0 da CLI Databricks
metastore Cordão O nome do metastore para o qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
notification_destination Cordão O nome do notification_destination para o qual recuperar uma ID.
Adicionado na versão 0.236.0 da CLI do Databricks
pipeline Cordão O nome do pipeline para o qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
query Cordão O nome da consulta para a qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
service_principal Cordão O nome do service_principal para o qual recuperar uma ID.
Adicionado na versão 0.229.0 da CLI Databricks
warehouse Cordão O nome do depósito para o qual recuperar um ID.
Adicionado na versão 0.229.0 da CLI Databricks

área de trabalho

Type: Map

Define o espaço de trabalho Databricks para o pacote. O arquivo de configuração do pacote pode conter apenas um mapeamento de nível workspace superior para especificar quaisquer configurações não padrão do espaço de trabalho do Azure Databricks a serem usadas.

Importante

Os caminhos válidos para o espaço de trabalho do Databricks devem começar com /Workspace ou, para artefatos, /Volumestambém é suportado. Os caminhos de espaço de trabalho personalizados são automaticamente prefixados com /Workspace, portanto, se utilizar qualquer substituição de caminho de espaço de trabalho no seu caminho personalizado, como ${workspace.file_path}, não necessita de adicionar /Workspace ao caminho.

Adicionado na versão 0.229.0 da CLI Databricks

Chave Tipo Descrição
artifact_path Cordão O caminho do artefato a ser utilizado no espaço de trabalho tanto para as implementações como para as execuções dos fluxos de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
auth_type Cordão O tipo de autenticação a utilizar, especialmente importante nos casos em que a CLI Databricks infiri um tipo de autenticação inesperado. Consulte Autorizar acesso aos recursos do Azure Databricks.
Adicionado na versão 0.229.0 da CLI Databricks
azure_client_id Cordão O ID do cliente Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
azure_environment Cordão O ambiente Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
azure_login_app_id Cordão O ID da aplicação de login Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
azure_tenant_id Cordão O ID do inquilino do Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
azure_use_msi booleano Se deve usar o MSI para Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
azure_workspace_resource_id Cordão O ID de recurso do workspace Azure. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
client_id Cordão O ID do cliente para o espaço de trabalho. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
file_path Cordão O caminho do ficheiro a usar dentro do espaço de trabalho tanto para implementações como para execuções de workflow. Veja workspace.file_path.
Adicionado na versão 0.229.0 da CLI Databricks
google_service_account Cordão O nome da conta do serviço Google. Veja Autenticação do espaço de trabalho.
Adicionado na versão 0.229.0 da CLI Databricks
host Cordão O URL do alojamento do workspace Databricks. Consulte Nomes, URLs e IDs das instâncias do espaço de trabalho.
A definição do host mapeamento instrui a CLI do Databricks a encontrar um perfil correspondente no seu .databrickscfg arquivo e, em seguida, utilizar os campos desse perfil para determinar o tipo de autenticação do Databricks que deve ser usado. Se existirem vários perfis com um campo correspondente host dentro do seu .databrickscfg ficheiro, então deve usar o profile mapeamento (ou as --profile opções de linha de comandos -p ) para especificar um perfil.
Adicionado na versão 0.229.0 da CLI Databricks
profile Cordão O nome do perfil do workspace Databricks. Ver workspace.profile.
Adicionado na versão 0.229.0 da CLI Databricks
resource_path Cordão O caminho do recurso do espaço de trabalho
Adicionado na versão 0.230.0 da CLI Databricks
root_path Cordão O caminho raiz do workspace Databricks. Vê workspace.root_path.
Adicionado na versão 0.229.0 da CLI Databricks
state_path Cordão O caminho do estado do espaço de trabalho. Esta chave corresponde por defeito ao caminho padrão de ${workspace.root}/state e representa o caminho dentro do seu espaço de trabalho para armazenar informação sobre o estado do Terraform sobre implementações.
Adicionado na versão 0.229.0 da CLI Databricks

Autenticação do espaço de trabalho

O mapeamento do workspace pode também conter mapeamentos para especificar o mecanismo de autenticação Databricks a utilizar. Se não forem especificados dentro do mapeamento de workspace de nível superior, devem ser especificados num mapeamento de workspace como filho de um ou mais dos alvos no mapeamento de alvos de nível superior.

  • Para autenticação OAuth máquina-a-máquina (M2M), o mapeamento client_id é usado. Como alternativa, você pode definir esse valor na variável DATABRICKS_CLIENT_IDde ambiente local . Ou pode criar um perfil de configuração com o valor client_id e, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar os comandos validar, implantar, executar e destruir do bundle com a CLI do Databricks). Consulte Autorizar o acesso da entidade de serviço ao Azure Databricks com OAuth.

    Observação

    Não é possível especificar um valor secreto OAuth do Azure Databricks no arquivo de configuração do pacote. Em vez disso, defina a variável DATABRICKS_CLIENT_SECRETde ambiente local . Pode-se adicionar o valor client_secret a um perfil de configuração e, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com o Databricks CLI).

  • Para a autenticação da CLI do Azure, o mapeamento azure_workspace_resource_id é usado. Como alternativa, você pode definir esse valor na variável DATABRICKS_AZURE_RESOURCE_IDde ambiente local . Ou pode criar um perfil de configuração com o valor azure_workspace_resource_id e, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar os comandos validar, implantar, executar e destruir do bundle com a CLI do Databricks). Consulte Autenticar com a CLI do Azure.

  • Para a autenticação de segredo do cliente do Azure com entidades de serviço, os mapeamentos azure_workspace_resource_id, azure_tenant_ide azure_client_id são usados. Como alternativa, você pode definir esses valores nas variáveis DATABRICKS_AZURE_RESOURCE_IDde ambiente local , ARM_TENANT_ID, e ARM_CLIENT_ID, respectivamente. Pode-se criar um perfil de configuração com os azure_workspace_resource_id, azure_tenant_id e azure_client_id valores, em seguida, especificar o nome do perfil com o profile mapeamento (ou usando as --profile ou -p opções ao executar os comandos validate, deploy, run, e destroy do bundle com a Databricks CLI). Consulte princípios de serviço Autenticar com Microsoft Entra.

    Observação

    Não é possível especificar um valor de segredo do cliente do Azure no arquivo de configuração do pacote. Em vez disso, defina a variável ARM_CLIENT_SECRETde ambiente local . Pode-se adicionar o valor azure_client_secret a um perfil de configuração e, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com o Databricks CLI).

  • Para autenticação de identidades gerenciadas do Azure, os mapeamentos azure_use_msi, azure_client_ide azure_workspace_resource_id são usados. Como alternativa, você pode definir esses valores nas variáveis ARM_USE_MSIde ambiente local , ARM_CLIENT_ID, e DATABRICKS_AZURE_RESOURCE_ID, respectivamente. Pode-se criar um perfil de configuração com os azure_use_msi, azure_client_id e azure_workspace_resource_id valores, em seguida, especificar o nome do perfil com o profile mapeamento (ou usando as --profile ou -p opções ao executar os comandos validate, deploy, run, e destroy do bundle com a Databricks CLI). Consulte Autenticar com identidades gerenciadas do Azure.

  • O azure_environment mapeamento especifica o tipo de ambiente do Azure (como Público, UsGov, China e Alemanha) para um conjunto específico de pontos de extremidade de API. O valor predefinido é PUBLIC. Como alternativa, você pode definir esse valor na variável ARM_ENVIRONMENTde ambiente local . Pode-se adicionar o valor azure_environment a um perfil de configuração e, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com o Databricks CLI).

  • O azure_login_app_id mapeamento é não operacional e está reservado para uso interno.

workspace.root_path

Esse workspace mapeamento pode conter um root_path mapeamento para especificar um caminho raiz não padrão a ser usado no espaço de trabalho para implantações e execuções de fluxo de trabalho, por exemplo:

workspace:
  root_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}

Por padrão, para root_path o Databricks CLI usa o caminho padrão de /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}, que usa substituições.

workspace.artifact_path

Esse workspace mapeamento pode também conter um artifact_path mapeamento para especificar um caminho de artefato não padrão a ser utilizado no espaço de trabalho, tanto para implementações quanto para execuções de fluxo de trabalho, por exemplo:

workspace:
  artifact_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/artifacts

Por padrão, para artifact_path o Databricks CLI usa o caminho padrão de ${workspace.root}/artifacts, que usa substituições.

Observação

O artifact_path mapeamento não suporta caminhos do sistema de arquivos Databricks (DBFS).

workspace.file_path

Este workspace mapeamento também pode conter um file_path mapeamento para especificar um caminho de ficheiro não padrão a ser utilizado dentro do espaço de trabalho para desdobramentos e execuções de fluxo de trabalho, por exemplo:

workspace:
  file_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/files

Por padrão, para file_path o Databricks CLI usa o caminho padrão de ${workspace.root}/files, que usa substituições.

Importante

Não pode especificar variáveis personalizadas para estes valores de autenticação usando a ${var.*} sintaxe.

workspace.profile

Observação

A Databricks recomenda que utilize o mapeamento host (ou as opções --profile ou -p ao executar os comandos validate, deploy, run e destroy com o Databricks CLI) em vez do mapeamento profile, pois isso torna os arquivos de configuração do pacote mais portáteis.

O profile mapeamento especifica o nome de um perfil de configuração a usar para autenticar neste espaço de trabalho Azure Databricks. Este perfil de configuração corresponde ao que criou ao configurar a CLI do Databricks.

Objetos comuns

Git

Type: Map

Define os detalhes do controle de versão do git. Isto é útil para propagar metadados de implementação que podem ser usados posteriormente para identificar recursos. Por exemplo, você pode rastrear a origem do repositório de um trabalho implantado pelo CI/CD.

Sempre que você executa um bundle comando como validate, deploy ou run, o bundle comando preenche a árvore de configuração do comando com as seguintes configurações padrão:

Para recuperar ou substituir as configurações do Git, seu pacote deve estar dentro de um diretório associado a um repositório Git, por exemplo, um diretório local que é inicializado executando o git clone comando. Se o diretório não estiver associado a um repositório Git, essas configurações do Git estarão vazias.

Chave Tipo Descrição
branch Cordão O nome atual da filial Git. Este é o mesmo valor que você obteria se executasse o comando git branch --show-current do seu repositório clonado. Você pode usar substituições para fazer referência a esse valor com seus arquivos de configuração de pacote, como ${bundle.git.branch}.
origin_url Cordão A URL de origem do repositório. Este é o mesmo valor que você obteria se executasse o comando git config --get remote.origin.url do seu repositório clonado. Você pode usar substituições para fazer referência a esse valor com seus arquivos de configuração de pacote, como ${bundle.git.origin_url}.

Exemplos

Pode sobrescrever as origin_url definições e branch dentro do git mapeamento do seu mapeamento bundle de nível superior, se necessário:

bundle:
  git:
    origin_url: <some-non-default-origin-url>
    branch: <some-non-current-branch-name>