Compartilhar via


Referência de configuração

Este artigo fornece referência para chaves compatíveis com a configuração de Pacotes de Ativos do Databricks (YAML). Consulte O que são os Pacotes de Ativos do Databricks?.

Para obter exemplos completos do pacote, consulte Exemplos de configuração do Pacote e o repositório bundle-examples no GitHub.

artefatos

Type: Map

Especifica os artefatos a serem compilados automaticamente durante implantações de pacote que podem ser usadas posteriormente em execuções de pacote. Cada chave é o nome do artefato e o valor é um Mapa que define as configurações de build do artefato.

Dica

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

Adicionado na CLI do Databricks versão 0.229.0

artifacts:
  <artifact-name>:
    <artifact-field-name>: <artifact-field-value>
Chave Tipo Descrição
build corda Um conjunto opcional de comandos de build a serem executados localmente antes da implantação. Para builds de wheels do Python, a CLI do Databricks pressupõe que possa encontrar uma instalação local do pacote wheel do Python para executar os builds e executa o comando python setup.py bdist_wheel por padrão durante cada implantação de pacote. Especifique vários comandos de build em linhas separadas.
Adicionado na CLI do Databricks versão 0.229.0
dynamic_version booleano Se a versão da roda será corrigida dinamicamente com base no carimbo de data/hora do arquivo whl. Se isso estiver definido como true, novos códigos poderão ser implantados sem a necessidade de atualizar a versão em setup.py ou pyproject.toml. Essa configuração só é válida quando type está definido como whl.
Adicionado na CLI do Databricks versão 0.245.0
executable corda O tipo de executável. Os valores válidos são bash, sh e cmd.
Adicionado na CLI do Databricks versão 0.229.0
files Sequência O caminho relativo ou absoluto para os arquivos de artefato criados. Confira artifacts.name.files.
Adicionado na CLI do Databricks versão 0.229.0
path corda O caminho local do diretório do artefato. Os caminhos são relativos ao local do arquivo de configuração do pacote. Para builds de roda do Python, é o caminho para o arquivo de roda do Python setup.py. Se path não estiver incluído, a CLI do Databricks tentará localizar o arquivo setup.py do arquivo de roda do Python na raiz do pacote.
Adicionado na CLI do Databricks versão 0.229.0
type corda Necessário se o artefato for uma roda do Python. O tipo do artefato. Os valores válidos são whl e jar. Essa configuração não precisa ser especificada para criar outros artefatos.
Adicionado na CLI do Databricks versão 0.229.0

Exemplos

A configuração a seguir cria uma roda do Python usando o Poetry:

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

A configuração a seguir executa testes e cria uma roda. Para obter um tutorial de pacote completo que usa artifacts para criar uma roda, consulte Criar um arquivo de roda do Python usando Pacotes de Ativos do Databricks.

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

      # build the actual artifact
      python setup.py bdist_wheel

    path: .

Para obter uma configuração de exemplo que compila um JAR e o carrega no Catálogo do Unity, consulte Pacote que carrega um arquivo JAR para o Catálogo do Unity.

Artefatos. name.files

Type: Sequence

O caminho relativo ou absoluto para os arquivos de artefato criados. Use source para especificar os artefatos criados. Os caminhos são relativos ao local do arquivo de configuração do pacote.

Adicionado na CLI do Databricks versão 0.229.0

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

pacote

Type: Map

As características do pacote ao implantar nesse destino.

Um arquivo de configuração de pacote deve conter apenas um mapeamento de nível bundle superior.

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

bundle:
  name: hello-bundle

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

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
cluster_id corda A ID de um cluster a ser usada para executar o pacote. Essa chave permite que você especifique a ID de um cluster a ser usada como uma substituição para clusters definidos em outro lugar no arquivo de configuração do pacote. Para obter informações sobre como recuperar a ID de um cluster, consulte a URL e a ID do recurso de computação.
A substituição cluster_id destina-se a cenários somente de desenvolvimento e só tem suporte para o destino que tiver o mapeamento mode definido como development. Para obter mais informações sobre o mapeamento target, confira destino.
Adicionado na CLI do Databricks versão 0.229.0
compute_id corda Preterido. A ID da computação que será usada para executar o pacote.
Adicionado na CLI do Databricks versão 0.229.0
databricks_cli_version corda A versão da CLI do Databricks a ser usada para o pacote. Veja bundle.databricks_cli_version.
Adicionado na CLI do Databricks versão 0.229.0
deployment Mapeamento A definição da implantação do pacote. Para ver as características com suporte, confira Modos de implantação do Pacote de Ativos do Databricks. Confira bundle.deployment.
Adicionado na CLI do Databricks versão 0.229.0
git Mapeamento Os detalhes do controle de versão do Git associados ao bundle. Para ver as características com suporte, confira Git.
Adicionado na CLI do Databricks versão 0.229.0
name corda O nome do pacote.
Adicionado na CLI do Databricks versão 0.229.0
uuid corda Reservado. Um UUID (Identificador Universal exclusivo) para o pacote que identifica exclusivamente o pacote em sistemas internos do Databricks. Isso é gerado quando um projeto de pacote é inicializado usando um modelo do Databricks (usando o comando databricks bundle init).
Adicionado na CLI do Databricks versão 0.236.0

bundle.databricks_cli_version

O mapeamento bundle pode conter um mapeamento databricks_cli_version que restringe a versão da CLI do Databricks exigida pelo pacote. Isso pode evitar problemas causados pelo uso de mapeamentos que não têm suporte 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 databricks_cli_version dá suporte à 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 alguma 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 CLI do Databricks versão 0.229.0

Chave Tipo Descrição
fail_on_active_runs booleano Se deve falhar em execuções ativas. Se isso estiver definido como verdadeiro, uma implantação em execução poderá ser interrompida.
Adicionado na CLI do Databricks versão 0.229.0
lock Mapeamento As características de bloqueio da implantação. Confira bundle.deployment.lock.
Adicionado na CLI do Databricks versão 0.229.0

bundle.deployment.lock

Type: Map

As características de bloqueio da implantação.

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
enabled booleano Se esse bloqueio está habilitado.
Adicionado na CLI do Databricks versão 0.229.0
force booleano Se será necessário forçar esse bloqueio se ele estiver habilitado.
Adicionado na CLI do Databricks versão 0.229.0

experimental

Type: Map

Define atributos para recursos experimentais.

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
python Mapeamento Preterido. Em vez disso, use o mapeamento de nível superior python.
Adicionado na CLI do Databricks versão 0.238.0
python_wheel_wrapper booleano Se deve usar um wrapper do pacote wheel Python.
Adicionado na CLI do Databricks versão 0.229.0
scripts Mapeamento Os comandos a serem executados.
Adicionado na CLI do Databricks versão 0.229.0
skip_artifact_cleanup booleano Determina se a exclusão da .internal pasta workspace.artifact_pathdeve ser ignorada. Por padrão, essa pasta é excluída antes de carregar novos artefatos de build (como rodas python) durante a implantação. Definido para true preservar artefatos existentes entre implantações.
Adicionado na CLI do Databricks versão 0.254.0
skip_name_prefix_for_schema booleano Se é necessário ignorar a adição do prefixo (definido presets.name_prefix ou computado quando mode: development) aos nomes de esquemas do Catálogo do Unity definidos no pacote.
Adicionado na CLI do Databricks versão 0.255.0
use_legacy_run_as booleano Se deve usar o comportamento herdado run_as.
Adicionado na CLI do Databricks versão 0.229.0

include

Type: Sequence

Especifica uma lista de globos de caminho que contêm arquivos de configuração a serem incluídos no pacote. Esses globs de caminho são relativos ao local do arquivo de configuração do pacote no qual os globs de caminho são especificados. Além disso databricks.yml, você deve usar a include matriz para especificar todos os arquivos de configuração a serem incluídos no pacote.

Dica

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

Esta matriz include só pode aparecer como um mapeamento de nível superior.

Adicionado na CLI do Databricks versão 0.229.0

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'

A configuração de exemplo a seguir inclui todos os arquivos com nomes de arquivos 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 serem aplicadas aos recursos definidos no pacote, em que cada item na sequência é uma permissão para uma entidade específica. Consulte Definir permissões para recursos em Pacotes de Ativos do Databricks.

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

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

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
group_name corda O nome do grupo que tem o conjunto de permissões no nível.
Adicionado na CLI do Databricks versão 0.229.0
level corda A permissão permitida para o usuário, grupo ou entidade de serviço definida para essaa 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 em um recurso específico. Consulte Definir permissões para recursos em Pacotes de Ativos do Databricks.
Adicionado na CLI do Databricks versão 0.229.0
service_principal_name corda O nome da entidade de serviço que tem o conjunto de permissões no nível.
Adicionado na CLI do Databricks versão 0.229.0
user_name corda O nome do usuário que tem o conjunto de permissões no nível.
Adicionado na CLI do Databricks versão 0.229.0

Exemplo

A configuração de exemplo a seguir define os níveis de permissão para um usuário, grupo e entidade de serviço, que são aplicados a todos os recursos definidos no resources 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 as predefinições de implantação de pacote. Para obter mais informações, consulte Predefinições personalizadas.

A menos que uma exceção seja especificada para uma predefinição, se ambas mode e presets estiverem definidas, as predefinições substituirão o comportamento do modo padrão e as configurações de recursos individuais substituirão as predefinições.

Adicionado na CLI do Databricks versão 0.229.0

Predefinição Descrição
artifacts_dynamic_version Se você deve atualizar dinamicamente a versão dos whl artefatos durante a implantação. Os valores válidos são true ou false. Se a configuração de nível superior artifacts.dynamic_version for especificada, ela substituirá a configuração predefinida.
Adicionado na CLI do Databricks versão 0.256.0
jobs_max_concurrent_runs O número máximo de execuções simultâneas permitidas para trabalhos.
Adicionado na CLI do Databricks versão 0.229.0
name_prefix A cadeia de caracteres de prefixo a ser acrescentada aos nomes de recursos.
Adicionado na CLI do Databricks versão 0.229.0
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 CLI do Databricks versão 0.229.0
source_linked_deployment Se os recursos criados durante a implantação apontam para arquivos de origem no workspace em vez de suas cópias no workspace.
Adicionado na CLI do Databricks versão 0.236.0
tags Um conjunto de rótulos key:value aplicável a todos os recursos que dão suporte a tags, que inclui trabalhos e experimentos. Os Pacotes de Ativos do Databricks não dão suporte a tags para o recurso schema.
Adicionado na CLI do Databricks versão 0.229.0
trigger_pause_status Um status de pausa a ser aplicado a todos os gatilhos e programações. Os valores válidos são PAUSED ou UNPAUSED.
Se mode estiver definido como development, trigger_pause_status será sempre PAUSED.
Adicionado na CLI do Databricks versão 0.229.0

python

Type: Map

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

Movido da CLI do experimental Databricks versão 0.275.0

Chave Tipo Descrição
mutators Sequência Os 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 CLI do Databricks versão 0.238.0
resources Sequência Os 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 CLI do Databricks versão 0.238.0
venv_path corda O caminho para o ambiente virtual. Se habilitado, o código Python é executado nesse ambiente. Se estiver desabilitado, o padrão será usar o interpretador Python disponível no shell atual.
Adicionado na CLI do Databricks versão 0.238.0

recursos

Type: Map

Define os recursos do pacote, em que cada chave é o nome do recurso e o valor é um Mapa que define o recurso. Para obter mais informações sobre os recursos com suporte dos Pacotes de Ativos do Databricks e a referência de definição de recursos, consulte Recursos de Pacotes de Ativos do Databricks.

O resources mapeamento pode aparecer como um mapeamento de nível superior ou pode ser filho de um ou mais dos destinos no mapeamento de destinos de nível superior e inclui zero ou um dos tipos de recursos com suporte. Cada mapeamento de tipo de recurso inclui uma ou mais declarações de recurso individuais, que devem ter um nome exclusivo. Essas declarações de recurso individuais usam a carga de solicitação da operação de criação do objeto correspondente, expressa no YAML, para definir o recurso. As propriedades com suporte para um recurso são os campos com suporte do objeto correspondente.

Os conteúdos de solicitação da operação de criação são documentados na Referência da API REST do Databricks e o comando databricks bundle schema exibe todos os esquemas de objeto com suporte. Além disso, o comando databricks bundle validate retornará avisos se forem encontradas propriedades de recurso desconhecidas em arquivos de configuração de pacote.

Para obter mais informações sobre os recursos com suporte em pacotes, bem como configuração e exemplos comuns, confira Recursos de Pacotes de Ativos do Databricks e Exemplos de configuração de pacote.

Adicionado na CLI do Databricks versão 0.229.0

resources:
  <resource-type>:
    <resource-name>:
      <resource-field-name>: <resource-field-value>
Chave Tipo Descrição
alerts Mapeamento As definições de alerta (v2) para o conjunto, onde cada chave é o nome do alerta. Consulte o alerta.
Adicionado na CLI do Databricks versão 0.279.0
apps Mapeamento As definições de aplicativos do Databricks para o pacote, em que cada chave é o nome do aplicativo. Confira aplicativo.
Adicionado na CLI do Databricks versão 0.239.0
catalogs Mapeamento As definições de catálogo (Catálogo do Unity) para o pacote, em que cada chave é o nome de um catálogo. Consulte catálogos.
Adicionado na CLI do Databricks versão 0.287.0
clusters Mapeamento As definições de cluster para o pacote, em que cada chave é o nome de um cluster. Confira cluster.
Adicionado na CLI do Databricks versão 0.229.0
dashboards Mapeamento As definições de dashboard para o pacote, em que cada chave é o nome do dashboard. Confira dashboard.
Adicionado na CLI do Databricks versão 0.232.0
database_catalogs Mapeamento As definições do catálogo de banco de dados para o pacote, em que cada chave é o nome do catálogo de banco de dados. Veja database_catalog.
Adicionado na CLI do Databricks versão 0.265.0
database_instances Mapeamento As definições de instância de banco de dados para o pacote, em que cada chave é o nome da instância do banco de dados. Veja database_instance.
Adicionado na CLI do Databricks versão 0.265.0
experiments Mapeamento As definições de experimento para o pacote, em que cada chave é o nome do experimento. Confira experimento.
Adicionado na CLI do Databricks versão 0.229.0
jobs Mapeamento As definições de tarefas para o pacote, onde cada chave é o nome da tarefa. Confira trabalho.
Adicionado na CLI do Databricks versão 0.229.0
model_serving_endpoints Mapeamento As definições de ponto de extremidade do serviço de modelo para o pacote, em que cada chave é o nome do ponto de extremidade do serviço de modelo. Confira model_serving_endpoint.
Adicionado na CLI do Databricks versão 0.229.0
models Mapeamento As definições de modelo para o pacote, em que cada chave é o nome do modelo. Confira modelo (herdado).
Adicionado na CLI do Databricks versão 0.229.0
pipelines Mapeamento As definições de pipeline para o pacote, em que cada chave é o nome do pipeline. Confira pipeline.
Adicionado na CLI do Databricks versão 0.229.0
postgres_branches Mapeamento As definições de branch do Postgres para o pacote, em que cada chave é o nome do branch lakebase. Veja postgres_branch.
Adicionado na CLI do Databricks versão 0.287.0
postgres_endpoints Mapeamento As definições de ponto de extremidade do Postgres para o pacote, em que cada chave é o nome do ponto de extremidade de computação do Lakebase. Veja postgres_endpoint.
Adicionado na CLI do Databricks versão 0.287.0
postgres_projects Mapeamento As definições de projeto do Postgres para o pacote, em que cada chave é o nome do projeto lakebase. Veja postgres_project.
Adicionado na CLI do Databricks versão 0.287.0
quality_monitors Mapeamento As definições do monitor de qualidade para o pacote, em que cada chave é o nome do monitor de qualidade. Confira quality_monitor (Catálogo do Unity).
Adicionado na CLI do Databricks versão 0.229.0
registered_models Mapeamento As definições de modelo registradas para o pacote, onde cada chave corresponde ao nome de um modelo registrado no Catálogo Unity. Confira registered_model (Catálogo do Unity).
Adicionado na CLI do Databricks versão 0.229.0
schemas Mapeamento As definições de esquema para o pacote, em que cada chave é o nome do esquema. Confira schema (Catálogo do Unity).
Adicionado na CLI do Databricks versão 0.229.0
secret_scopes Mapeamento As definições de escopo secreto para o pacote, em que cada chave é o nome do escopo do segredo. Consulte secret_scope.
Adicionado na CLI do Databricks versão 0.252.0
sql_warehouses Mapeamento As definições do SQL Warehouse para o pacote, em que cada chave é o nome do SQL Warehouse. Consulte sql_warehouse.
Adicionado na CLI do Databricks versão 0.260.0
synced_database_tables Mapeamento As definições da tabela de banco de dados sincronizada para o pacote, em que cada chave é o nome da tabela de banco de dados. Veja synced_database_table.
Adicionado na CLI do Databricks versão 0.266.0
volumes Mapeamento As definições de volume para o conjunto, em que cada chave é o nome do volume. Confira volume (Catálogo do Unity).
Adicionado na CLI do Databricks versão 0.236.0

Exemplo

A configuração de exemplo 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

run_as

Type: Map

A identidade (user_name ou service_principal_name) a ser usada para executar fluxos de trabalho de Pacotes de Ativos do Databricks. Ele fornece a capacidade de separar a identidade usada para desenvolver um trabalho de pacote ou pipeline da que é usada para executar o trabalho ou pipeline. Consulte Especificar uma identidade de execução para um fluxo de trabalho do Pacotes de Ativos do Databricks.

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
service_principal_name corda A ID do aplicativo de uma entidade de serviço ativa. Definir este campo requer a função servicePrincipal/user.
Adicionado na CLI do Databricks versão 0.229.0
user_name corda O e-mail de um usuário ativo do workspace. Usuários não administradores só podem definir esse campo como seu próprio email.
Adicionado na CLI do Databricks versão 0.229.0

scripts

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 CLI do Databricks versão 0.259.0

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

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 CLI do Databricks versão 0.229.0

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 CLI do Databricks versão 0.229.0
include Sequência Uma lista de arquivos ou pastas a serem incluídos no pacote. Veja incluir e excluir.
Adicionado na CLI do Databricks versão 0.229.0
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. Consulte sync.paths.
Adicionado na CLI do Databricks versão 0.229.0

incluir e excluir

Os mapeamentos de include e exclude no 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:

  • Com base em qualquer lista de globs de arquivo e de caminho em um arquivo .gitignore na raiz do pacote, o mapeamento include pode conter uma lista de globs de arquivo, globs de caminho ou ambos, em relação à raiz do pacote, para inclusão explícita.
  • Com base em qualquer lista de globs de arquivo e de caminho em um arquivo .gitignore na raiz do pacote, além da lista de globs de arquivo e de caminho no mapeamento include, o mapeamento exclude pode conter uma lista de globs de arquivo, globs de caminho ou ambos, em relação à raiz do pacote, para exclusão explícita.

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

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

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

.databricks
my_package/dist

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

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

Em seguida, todos os arquivos da pasta my_package/dist com a extensão de arquivo igual *.whl são incluídos. Os outros arquivos da pasta my_package/dist não estão incluídos.

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

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

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

O mapeamento sync também pode ser declarado no mapeamento targets para um destino específico. Qualquer mapeamento sync declarado em um destino é mesclado com quaisquer declarações de mapeamento sync de nível superior. Por exemplo, continuando com o exemplo anterior, o seguinte mapeamento include no nível targets é mesclado com o mapeamento include no mapeamento sync de nível superior:

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

sync.paths

O mapeamento sync pode conter um mapeamento paths que especifica caminhos locais para sincronização com o workspace. O mapeamento paths 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 apenas um repositório que hospeda vários pacotes e deseja compartilhar bibliotecas, arquivos de código ou configuração.

Os caminhos especificados precisam ser relativos aos arquivos e aos diretórios ancorados na pasta em que o mapeamento paths está definido. Se um ou mais valores de caminho percorrerem o diretório até um ancestral da raiz do pacote, o caminho raiz será determinado dinamicamente para garantir que a estrutura da pasta permaneça intacta. Por exemplo, se a pasta raiz do pacote for nomeada como my_bundle, essa configuração em databricks.yml sincronizará a pasta common localizada um nível acima da raiz do pacote e a própria raiz do pacote:

sync:
  paths:
    - ../common
    - .

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

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

targets

Type: Map

Define os contextos de destino de implantação para o pacote. Cada destino é uma coleção exclusiva de artefatos, configurações de workspace do Azure Databricks e, às vezes, detalhes de recursos específicos do destino.

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

As configurações dentro do targets mapeamento têm precedência sobre as configurações especificadas no workspace de nível superior, artefatos e mapeamentos de recursos .

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

Adicionado na CLI do Databricks versão 0.229.0

targets:
  <target-name>:
    <target-field-name>: <target-field-value>
Chave Tipo Descrição
artifacts Mapeamento Os artefatos a serem incluídos na implantação de destino. Confira artefatos.
Adicionado na CLI do Databricks versão 0.229.0
bundle Mapeamento As características do pacote ao implantar nesse destino. Consulte o pacote.
Adicionado na CLI do Databricks versão 0.229.0
cluster_id corda A ID do cluster que será usado para esse destino.
Adicionado na CLI do Databricks versão 0.229.0
compute_id corda Preterido. A ID da computação a ser usada para esse destino.
default booleano Se esse destino é o destino padrão. Veja os destinos.name.default.
Adicionado na CLI do Databricks versão 0.229.0
git Mapeamento As configurações de controle de versão do Git para o destino. Confira Git.
Adicionado na CLI do Databricks versão 0.229.0
mode corda O modo de implantação para o destino. Os valores válidos são development ou production. Veja os destinos.modo emodos de implantação do Pacote de Ativos do Databricks.
Adicionado na CLI do Databricks versão 0.229.0
permissions Sequência As permissões para implantar e executar o pacote no destino. Consulte permissões.
Adicionado na CLI do Databricks versão 0.229.0
presets Mapeamento Os predefinições de implantação para o destino. Confira targets.name.presets.
Adicionado na CLI do Databricks versão 0.229.0
resources Mapeamento As definições de recursos para o destino. Consulte os recursos.
Adicionado na CLI do Databricks versão 0.229.0
run_as Mapeamento A identidade a ser usada para executar o pacote. Consulte run_as e especifique uma identidade de execução para um fluxo de trabalho de Pacotes de Ativos do Databricks.
Adicionado na CLI do Databricks versão 0.229.0
sync Mapeamento Os caminhos locais a serem sincronizados com o espaço de trabalho de destino quando um pacote for executado ou implantado. Consulte sincronização.
Adicionado na CLI do Databricks versão 0.229.0
variables Mapeamento As definições personalizadas de variáveis para o alvo. Confira variáveis.
Adicionado na CLI do Databricks versão 0.229.0
workspace Mapeamento O workspace do Databricks para o destino. Consulte workspace.
Adicionado na CLI do Databricks versão 0.229.0

Alvos. name.default

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

targets:
  dev:
    default: true

Se um destino padrão não estiver configurado ou se você quiser validar, implantar e executar trabalhos ou pipelines em um destino específico, use a opção -t dos comandos de pacote.

Os seguintes comandos validam, implantam e executam my_job nos destinos 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 exemplo a seguir declara dois destinos. 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 de pacote.

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

Alvos. name.mode

Para facilitar o desenvolvimento e as práticas recomendadas de CI/CD, os Pacotes de Ativos do Databricks 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 destinos.name.presets.

Para ver detalhes, confira Modos de implantação do Pacote de Ativos do Databricks.

Dica

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 de Pacotes de Ativos do Databricks.

Para especificar que um destino seja tratado como um destino de desenvolvimento, adicione o mapeamento mode, definido como development. Para especificar que um destino seja tratado como um destino de desenvolvimento, adicione o mapeamento mode, definido como production. Por exemplo, este destino chamado prod é tratado como um destino de produção:

targets:
  prod:
    mode: production

Alvos. name.presets

Você pode personalizar alguns dos comportamentos de implantação mode de destino usando o presets mapeamento.

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

O seguinte exemplo mostra uma meta de produção personalizada 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

Presume-se que as variáveis sejam do tipo string, a menos que type esteja definida como complex. Consulte Definir uma variável complexa.

Para referenciar uma variável personalizada na 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 pacotes de ativos do Databricks.

Adicionado na CLI do Databricks versão 0.229.0

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

variables.name.lookup

Type: Map

O nome do objeto de alerta, cluster_policy, cluster, dashboard, instance_pool, trabalho, metastore, pipeline, consulta, service_principal ou warehouse para o qual recuperar uma ID. Para obter informações sobre como usar a pesquisa, consulte Recuperar o valor da ID de um objeto.

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
alert corda O nome do alerta para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
cluster corda O nome do cluster para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
cluster_policy corda O nome do cluster_policy para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
dashboard corda O nome do dashboard para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
instance_pool corda O nome do instance_pool para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
job corda O nome do trabalho para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
metastore corda O nome do metastore para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
notification_destination corda O nome do notification_destination para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.236.0
pipeline corda O nome do pipeline para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
query corda O nome da consulta para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
service_principal corda O nome do service_principal para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0
warehouse corda O nome do warehouse para o qual recuperar uma ID.
Adicionado na CLI do Databricks versão 0.229.0

espaço de trabalho

Type: Map

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

Importante

Os caminhos de workspace válidos do Databricks iniciam com /Workspace ou, quanto aos artefatos, /Volumes também tem suporte. Os caminhos de espaço de trabalho personalizados são prefixados automaticamente com /Workspace, portanto, se você usar qualquer substituição de caminho de espaço de trabalho em seu caminho personalizado, como ${workspace.file_path}, não será necessário anexar /Workspace ao caminho.

Adicionado na CLI do Databricks versão 0.229.0

Chave Tipo Descrição
artifact_path corda O caminho do artefato a ser usado no espaço de trabalho para implantações e execuções de fluxo de trabalho
Adicionado na CLI do Databricks versão 0.229.0
auth_type corda O tipo de autenticação a ser usado, especialmente importante nos casos em que a CLI do Databricks infere um tipo de autenticação inesperado. Confira o Autorizar acesso aos recursos do Azure Databricks.
Adicionado na CLI do Databricks versão 0.229.0
azure_client_id corda A ID do cliente do Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
azure_environment corda O ambiente do Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
azure_login_app_id corda A ID do aplicativo de logon do Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
azure_tenant_id corda ID do locatário do Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
azure_use_msi booleano Se o MSI deve ser usado para o Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
azure_workspace_resource_id corda A ID do recurso do workspace do Azure. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
client_id corda A ID do cliente para o workspace. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
file_path corda O caminho do arquivo a ser usado dentro do workspace para implantações e execuções de fluxo de trabalho. Veja workspace.file_path.
Adicionado na CLI do Databricks versão 0.229.0
google_service_account corda O nome da conta de serviço do Google. Consulte a Autenticação do workspace.
Adicionado na CLI do Databricks versão 0.229.0
host corda A URL do host do workspace do Databricks. Confira Nomes de instâncias, URLs e IDs do workspace.
Definir o host mapeamento instrui a CLI do Databricks a encontrar um perfil correspondente em seu .databrickscfg arquivo e, em seguida, usar os campos desse perfil para determinar qual tipo de autenticação do Databricks usar. Se houver vários perfis com um campo de correspondência host em seu .databrickscfg arquivo, você deverá usar o profile mapeamento (ou as --profile-p opções de linha de comando) para especificar um perfil.
Adicionado na CLI do Databricks versão 0.229.0
profile corda O nome do perfil do workspace do Databricks. Consulte workspace.profile.
Adicionado na CLI do Databricks versão 0.229.0
resource_path corda Caminho do recurso do espaço de trabalho
Adicionado na CLI do Databricks versão 0.230.0
root_path corda O caminho raiz do workspace do Databricks. Veja workspace.root_path.
Adicionado na CLI do Databricks versão 0.229.0
state_path corda O caminho de estado do workspace. Essa chave usa como padrão o caminho ${workspace.root}/state padrão e representa o caminho em seu workspace para armazenar informações de estado do Terraform sobre implantações.
Adicionado na CLI do Databricks versão 0.229.0

Autenticação do workspace

O mapeamento do workspace também pode conter mapeamentos para especificar o mecanismo de autenticação do Databricks a ser usado. Se eles não forem especificados no mapeamento de workspace de nível superior, eles deverão ser especificados em um mapeamento de workspace como um filho de um ou mais dos destinos no mapeamento de destinos de nível superior.

  • Para a autenticação M2M (máquina a máquina) do OAuth, o mapeamento client_id é usado. Como alternativa, você pode definir esse valor na variável de ambiente local DATABRICKS_CLIENT_ID. Ou você 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 de validação, implantação, execução e destruição com a CLI do Databricks). Consulte Autorizar o acesso da entidade de serviço ao Azure Databricks com o OAuth.

    Observação

    Você não pode especificar um valor de segredo do OAuth do Azure Databricks no arquivo de configuração do pacote. Em vez disso, defina a variável de ambiente local DATABRICKS_CLIENT_SECRET. Ou você pode adicionar o valor client_secret a um perfil de configuração e especificar o nome do perfil com o profile mapeamento (ou usar as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com a CLI do Databricks).

  • 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 de ambiente local DATABRICKS_AZURE_RESOURCE_ID. Ou você 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 de validação, implantação, execução e destruição 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_id e azure_client_id são usados. Como alternativa, você pode definir esses valores nas variáveis de ambiente local DATABRICKS_AZURE_RESOURCE_ID, ARM_TENANT_ID e ARM_CLIENT_ID, respectivamente. Ou você pode criar um perfil de configuração com os valores azure_workspace_resource_id, azure_tenant_id e azure_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 validate, deploy, run, e destroy com a CLI do Databricks). Consulte Autenticação com entidades de serviço do Microsoft Entra.

    Observação

    Você não pode especificar um valor de segredo do cliente do Azure no arquivo de configuração do pacote. Em vez disso, defina a variável de ambiente local ARM_CLIENT_SECRET. Ou você pode adicionar o valor azure_client_secret a um perfil de configuração e especificar o nome do perfil com o profile mapeamento (ou usar as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com a CLI do Databricks).

  • Para autenticação de identidades gerenciadas do Azure, os mapeamentos azure_use_msi, azure_client_id e azure_workspace_resource_id são utilizados. Como alternativa, você pode definir esses valores nas variáveis de ambiente local ARM_USE_MSI, ARM_CLIENT_ID e DATABRICKS_AZURE_RESOURCE_ID, respectivamente. Ou você pode criar um perfil de configuração com os valores azure_use_msi, azure_client_id e 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 validate, deploy, run, e destroy com a CLI do Databricks). Consulte Autenticar com identidades gerenciadas do Azure.

  • O mapeamento azure_environment 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 padrão é PUBLIC. Como alternativa, você pode definir esse valor na variável de ambiente local ARM_ENVIRONMENT. Ou você pode adicionar o valor azure_environment a um perfil de configuração e especificar o nome do perfil com o profile mapeamento (ou usar as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com a CLI do Databricks).

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

workspace.root_path

Esse mapeamento workspace pode conter um mapeamento root_path para especificar um caminho raiz não padrão a ser usado no workspace 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, a CLI do Databricks usa o caminho padrão /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}, que usa substituições.

workspace.artifact_path

Esse mapeamento workspace também pode conter um mapeamento artifact_path para especificar um caminho de artefato 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:
  artifact_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/artifacts

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

Observação

O mapeamento de artifact_path não dá suporte a caminhos do Sistema de Arquivos do Databricks (DBFS).

workspace.file_path

Esse mapeamento workspace também pode conter um mapeamento file_path para especificar um caminho de arquivo não padrão a ser usado no workspace para implantações 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, a CLI do Databricks usa o caminho padrão ${workspace.root}/files, que usa substituições.

Importante

Não é possível especificar variáveis personalizadas para esses valores de autenticação usando a ${var.*} sintaxe.

workspace.profile

Observação

O Databricks recomenda que você use o host mapeamento (ou as opções --profile ou -p ao executar os comandos validar pacote, implantar, executar e destruir com a CLI do Databricks) em vez do mapeamentoprofile, pois isso torna seus arquivos de configuração de pacote mais portáteis.

O profile mapeamento especifica o nome de um perfil de configuração a ser usado para autenticar neste workspace do Azure Databricks. Esse perfil de configuração é mapeado para aquele que você criou ao configurar a CLI do Databricks.

Objetos comuns

Git

Type: Map

Define os detalhes do controle de versão do Git. Isso é útil para propagar metadados de implantação que podem ser usados posteriormente para identificar recursos. Por exemplo, você pode rastrear a origem do repositório de um trabalho implantado por 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 precisa estar dentro de um diretório associado a um repositório Git, por exemplo, um diretório local que é inicializado pela execução do comando git clone. 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 corda O nome atual do branch do Git. Esse é o mesmo valor que você obterá se executar o comando git branch --show-current por meio do repositório clonado. Você pode utilizar substituições para se referir a esse valor nos arquivos de configuração do seu pacote, como ${bundle.git.branch}.
origin_url corda A URL de origem do repositório. Esse é o mesmo valor que você obterá se executar o comando git config --get remote.origin.url por meio do repositório clonado. Você pode utilizar substituições para se referir a esse valor nos arquivos de configuração do seu pacote, como ${bundle.git.origin_url}.

Exemplos

Você pode substituir as configurações e branch o origin_urlgit mapeamento do mapeamento de nível bundle superior, se necessário:

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