Referência de configuração
Este artigo fornece referência para a chave suportada por Databricks ativo Bundles configuration (YAML). Veja o que são Databricks ativo Bundles?
Para obter exemplos completos de pacotes, consulte Exemplos de configuração de pacotes e o repositório GitHub de exemplos de pacotes.
artefatos
Type: Map
Especifica os artefatos a serem criados automaticamente durante as implantações de pacotes, que podem ser usados posteriormente na execução do pacote. Cada key é o nome do artefato e o valor é um mapa que define as configurações de construção do artefato.
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 ou inferior CLI Databricks
artifacts:
<artifact-name>:
<artifact-field-name>: <artifact-field-value>
Chave | Tipo | Descrição |
|---|---|---|
| String | Um conjunto opcional de comandos de construção para execução local antes da implantação. Para compilações Python wheel , a CLI Databricks assume que pode encontrar uma instalação local do pacote Python Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Booleana | Indica se a versão do pacote (wheel) deve ser corrigida dinamicamente com base no carimbo de data/hora do arquivo whl. Se isso for definido como Adicionado na versão 0.245.0 da CLI do Databricks. |
| String | O tipo executável. Os valores válidos são Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Sequência | O caminho relativo ou absoluto para os arquivos de artefatos criados. Veja artefatos. nome .files. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O caminho local do diretório onde o artefato está localizado. Os caminhos são relativos à localização do arquivo de configuração do pacote. Para compilações Python wheel , é o caminho para o arquivo Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | Obrigatório se o artefato for um Python wheel. O tipo do artefato. Os valores válidos são Adicionado na versão 0.229.0 ou inferior CLI Databricks |
Exemplos
A seguinte configuração cria um Python wheel usando Poetry:
artifacts:
default:
type: whl
build: poetry build
path: .
A seguinte configuração executa testes e cria um pacote wheel. Para um tutorial completo de criação de pacotes que usa artifacts para construir um wheel, consulte Criar um arquivo Python wheel usando Databricks ativo Bundles.
artifacts:
default:
type: whl
build: |-
# run tests
python -m pytest tests/ -v
# build the actual artifact
python setup.py bdist_wheel
path: .
Para um exemplo de configuração que cria um arquivo JAR e o carrega no Unity Catalog, consulte Bundle that upload a JAR file to Unity Catalog.
artefatos.nome .arquivos
Type: Sequence
O caminho relativo ou absoluto para os arquivos do artefato compilado. Use source para especificar os artefatos construídos. Os caminhos são relativos à localização do arquivo de configuração do pacote.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | Obrigatório. O arquivo de origem do artefato. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
pacote
Type: Map
Os atributos do pacote quando implantado nesse destino.
Um arquivo de configuração de pacote deve conter apenas um mapeamento de nível superior bundle .
Esse mapeamento de bundle deve conter um mapeamento de name que especifica 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 alvos no mapeamento de alvos de nível superior. Cada um desses mapeamentos filhos bundle especifica quaisquer substituições nãodefault no nível de destino.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | O ID de um cluster a ser usado para executar o pacote. Essa key permite especificar o ID de um cluster para usar como substituto para clusters definidos em outras partes do arquivo de configuração do pacote. Para obter informações sobre como recuperar o ID de um cluster, consulte URL e ID do recurso de computação. A substituição Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | Obsoleto. O ID do site compute a ser usado para executar o pacote. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | A versão da CLI do Databricks a ser usada para o pacote. Consulte bundle.databricks_cli_version. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | A definição da implantação do pacote. Para conhecer os atributos compatíveis, consulte Databricks ativo Bundle deployment modes. Veja bundle.deployment. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | Os detalhes do controle de versão Git associados ao seu pacote. Para obter informações sobre os atributos suportados, consulte o git. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do pacote. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | Reservado. Um UUID (Universally Unique Identifier, identificador universal exclusivo) para o pacote que o identifica exclusivamente nos sistemas internos da Databricks. Isso é gerado quando um projeto de pacote é inicializado usando um padrão Databricks (usando o comando Adicionado na versão 0.236.0 da CLI do Databricks. |
versão_cli_do_pacote.databricks
O mapeamento de bundle pode conter um mapeamento de 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 são compatíveis com uma determinada versão da CLI do Databricks.
A versão do Databricks CLI está em conformidade com o versionamento semântico e o mapeamento databricks_cli_version suporta a especificação de restrições de versão. Se o valor atual databricks --version não estiver dentro dos limites especificados no mapeamento databricks_cli_version do pacote, ocorrerá um erro quando databricks bundle validate for executado no pacote. Os exemplos a seguir demonstram algumas sintaxes comuns de restrição de versão:
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
pacote.implantação
Type: Map
A definição da implantação do pacote
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| Booleana | Se deve falhar na execução ativa. Se isso for definido como verdadeiro, uma implantação em execução poderá ser interrompida. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | Os atributos do bloqueio de implantação. Veja bundle.deployment.lock. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
pacote.implantação.bloqueio
Type: Map
Os atributos do bloqueio de implantação.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| Booleana | Se esse bloqueio está ativado. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Booleana | Se deve forçar esse bloqueio se ele estiver ativado. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
experimental
Type: Map
Define os atributos do recurso experimental.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| Mapa | Obsoleto. Em vez disso, use o mapeamento Python de nível superior. Adicionado na versão 0.238.0 da CLI do Databricks. |
| Booleana | Se deve usar um wrapper Python wheel. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | O comando para a execução. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Booleana | Determina se deve ignorar a exclusão da pasta Adicionado na versão 0.254.0 da CLI do Databricks. |
| Booleana | Se deve ignorar a adição do prefixo (definido em Adicionado na versão 0.255.0 da CLI do Databricks. |
| Booleana | Se o comportamento de execução herdado deve ser usado. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
incluir
Type: Sequence
Especifica uma lista de padrões de caminho (globs) que contêm arquivos de configuração a serem incluídos no pacote. Esses padrões de caminho são relativos à localização do arquivo de configuração do pacote no qual os padrões de caminho são especificados. Além de databricks.yml, você deve usar o array include para especificar todos os arquivos de configuração a serem incluídos no pacote.
Para incluir ou excluir outros arquivos no pacote, use include e exclude.
Essa matriz include só pode aparecer como um mapeamento de nível superior.
Adicionado na versão 0.229.0 ou inferior 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'
A seguinte configuração de exemplo inclui todos os arquivos com nomes 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 ao recurso definido no pacote, onde cada item na sequência é uma permissão para uma entidade específica. Consulte Definir permissões para recurso em Databricks ativos Bundles.
Os níveis de permissão de nível superior permitidos são CAN_VIEW, CAN_MANAGE e CAN_RUN.
Se você deseja aplicar permissões a um recurso específico, consulte Definir permissões para um recurso específico.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | O nome do grupo que tem a permissão definida em nível. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | A permissão permitida para o usuário, o grupo e a entidade de serviço definidos para essa permissão. Os valores válidos para esse key são diferentes, dependendo do fato de as permissões serem definidas no nível superior do pacote ou para um recurso específico. Consulte Definir permissões para recurso em Databricks ativo Bundles. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome da entidade de serviço que tem a permissão definida no nível. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do usuário que tem a permissão definida em nível. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
Exemplo
A seguinte configuração de exemplo 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 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 as configurações predefinidas de implantação de pacotes. Para obter mais informações, consulte Predefinições personalizadas.
A menos que uma exceção seja especificada para uma predefinição, se ambos mode e presets estiverem definidos, as predefinições substituem o comportamento do modo default e as configurações de recursos individuais substituem as predefinições.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Preset | Descrição |
|---|---|
| Se deve atualizar dinamicamente a versão dos artefatos Adicionado na versão 0.256.0 da CLI do Databricks. |
| O número máximo de execução simultânea permitida para Job. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| As sequências de prefixos a serem adicionadas aos nomes dos recursos. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Se as implantações de pipeline devem ser bloqueadas no modo de desenvolvimento. Os valores válidos são Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Se os recursos criados durante a implantação apontam para arquivos de origem no workspace em vez de suas cópias workspace . Adicionado na versão 0.236.0 da CLI do Databricks. |
| Um conjunto de key tags que se aplicam a todos os recursos que suportam tags, incluindo Job e experiments. Os Bundles Databricks Ativo não suportam tags para o recurso Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Um estado de pausa a ser aplicado a todos os gatilhos e programadores. Os valores válidos são Se Adicionado na versão 0.229.0 ou inferior CLI Databricks |
Python
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.
Movido de experimental na versão 0.275.0 da CLI do Databricks
Chave | Tipo | Descrição |
|---|---|---|
| Sequência | Mutators contém uma lista de caminhos de função totalmente qualificados para funções mutadoras, como Adicionado na versão 0.238.0 da CLI do Databricks. |
| Sequência | recurso contém uma lista de caminhos de função totalmente qualificados para carregar o recurso definido no código Python, como Adicionado na versão 0.238.0 da CLI do Databricks. |
| String | O caminho para o ambiente virtual. Se ativado, o código Python será executado dentro deste ambiente. Se desativado, o padrão será usar o interpretador Python disponível no shell atual. Adicionado na versão 0.238.0 da CLI do Databricks. |
recurso
Type: Map
Define o recurso para o pacote, onde cada key é o nome do recurso e o valor é um Mapa que define o recurso. Para obter mais informações sobre o recurso suportado por Databricks ativo Bundles e referência de definição de recurso, consulte Databricks ativo Bundles recurso.
O mapeamento resources pode aparecer como um mapeamento de nível superior ou pode ser um filho de um ou mais dos destinos no mapeamento de destinos de nível superior e inclui zero ou um dos tipos de recurso suportados. Cada mapeamento de tipo de recurso inclui uma ou mais declarações de recurso individuais, cada uma devendo ter um nome único. Essas declarações de recurso individuais usam a carga útil da solicitação de criação de operações do objeto correspondente, expressa em YAML, para definir o recurso. As propriedades suportadas para um recurso são os campos suportados do objeto correspondente.
Os payloads de solicitação de criação de operações estão documentados na Referência API REST Databricks e o comando databricks bundle schema exibe todos os esquemas de objeto suportados. Além disso, o comando databricks bundle validate retorna avisos se propriedades de recurso desconhecidas forem encontradas nos arquivos de configuração do pacote.
Para mais informações sobre recursos suportados em pacotes, bem como configurações e exemplos comuns, consulte Databricks ativo Bundles recurso e Exemplos de configuração de pacotes.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
resources:
<resource-type>:
<resource-name>:
<resource-field-name>: <resource-field-value>
Chave | Tipo | Descrição |
|---|---|---|
| Mapa | As definições de alerta (v2) para o pacote, onde cada key é o nome do alerta. Veja o alerta. Adicionado na versão 0.279.0 da CLI do Databricks. |
| Mapa | As definições do aplicativo Databricks para o pacote, em que cada key é o nome do aplicativo. Veja o aplicativo. Adicionado na versão 0.239.0 da CLI do Databricks. |
| Mapa | As definições do catálogo (Unity Catalog) para o pacote, onde cada key é o nome de um catálogo. Consulte os catálogos. Adicionado na versão 0.287.0 da CLI do Databricks. |
| Mapa | As definições de clustering para o pacote, em que cada key é o nome de um clustering. Veja clustering. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições do painel para o pacote, em que cada key é o nome do painel. Veja o painel. Adicionado na versão 0.232.0 da CLI do Databricks. |
| Mapa | As definições do catálogo do banco de dados para o pacote, onde cada key é o nome do catálogo do banco de dados. Veja database_catalog. Adicionado na versão 0.265.0 da CLI do Databricks. |
| Mapa | As definições de instância do banco de dados para o pacote, onde cada key é o nome da instância do banco de dados. Veja database_instance. Adicionado na versão 0.265.0 da CLI do Databricks. |
| Mapa | As definições de experimento para o pacote, em que cada key é o nome do experimento. Veja o experimento. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de trabalho para o pacote, em que cada key é o nome do trabalho. Ver trabalho. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições do servindo modelo endpoint para o pacote, onde cada key é o nome do servindo modelo endpoint. Veja model_serving_endpoint. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de modelo para o pacote, em que cada key é o nome do modelo. Veja o modelo (legado). Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de pipeline para o pacote, em que cada key é o nome do pipeline. Veja o pipeline. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de ramificação do Postgres para o pacote, onde cada key é o nome da ramificação do Lakebase. Veja postgres_branch. Adicionado na versão 0.287.0 da CLI do Databricks. |
| Mapa | As definições endpoint do Postgres para o pacote, onde cada key é o nome do endpoint compute do Lakebase. Consulte postgres_endpoint. Adicionado na versão 0.287.0 da CLI do Databricks. |
| Mapa | As definições do projeto Postgres para o pacote, onde cada key é o nome do projeto Lakebase. Veja postgres_project. Adicionado na versão 0.287.0 da CLI do Databricks. |
| Mapa | As definições do monitor de qualidade para o pacote, em que cada key é o nome do monitor de qualidade. Consulte quality_monitor (Unity Catalog). Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições do modelo registrado para o pacote, em que cada key é o nome do modelo registrado Unity Catalog. Consulte registered_model (Unity Catalog). Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de esquema do pacote, em que cada key é o nome do esquema. Veja schema (Unity Catalog). Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições do escopo secreto do pacote, em que cada key é o nome do escopo secreto. Veja secret_scope. Adicionado na versão 0.252.0 da CLI do Databricks. |
| Mapa | As definições SQL warehouse para o pacote, onde cada key é o nome do SQL warehouse. Veja sql_warehouse. Adicionado na versão 0.260.0 da CLI do Databricks. |
| Mapa | As definições da tabela do banco de dados sincronizado para o pacote, em que cada key é o nome da tabela do banco de dados. Veja synced_database_table. Adicionado na versão 0.266.0 da CLI do Databricks. |
| Mapa | As definições de volume para o pacote, em que cada key é o nome do volume. Veja o volume (Unity Catalog). Adicionado na versão 0.236.0 da CLI do Databricks. |
Exemplo
A seguinte configuração de exemplo 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
execução
Type: Map
A identidade (user_name ou service_principal_name) a ser usada para execução do fluxo de trabalho Databricks ativos Bundles. Isso proporciona a capacidade de separar a identidade usada para implantar um Job ou pipeline pacote daquela usada para executar o Job ou pipeline. Consulte Especificar uma identidade de execução para um fluxo de trabalho de pacotes ativos Databricks.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | O ID do aplicativo de uma entidade de serviço ativa. A configuração desse campo exige a função Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O email de um usuário ativo do workspace. Os usuários não administradores só podem definir esse campo como seu próprio email. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
scripts
Type: Map
Os scripts que podem ser executados usando bundle run. Cada script nomeado no mapeamento scripts contém conteúdo com comando. Consulte Executar scripts.
Adicionado na versão 0.259.0 da CLI do Databricks.
scripts:
<script-name>:
<script-field-name>: <script-field-value>
Chave | Tipo | Descrição |
|---|---|---|
| String | O comando para a execução Adicionado na versão 0.259.0 da CLI do Databricks. |
Exemplos
scripts:
my_script:
content: uv run pytest -m ${bundle.target}
sincronizar
Type: Map
Os arquivos e caminhos de arquivos a serem incluídos ou excluídos no pacote.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| 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 ou inferior CLI Databricks |
| 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 ou inferior CLI Databricks |
| Sequência | Os caminhos das pastas locais, que podem estar fora da raiz do pacote, são sincronizados com o workspace quando o pacote é implantado. Consulte sync.paths. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
incluir e excluir
Os mapeamentos include e exclude dentro do mapeamento sync especificam uma lista de arquivos ou pastas a serem incluídos ou excluídos das implantações de pacotes, dependendo das seguintes regras:
- Com base em qualquer lista de padrões glob de arquivos e caminhos em um arquivo
.gitignorena raiz do pacote, o mapeamentoincludepode conter uma lista de padrões glob de arquivos, padrões glob de caminhos ou ambos, relativos à raiz do pacote, para inclusão explícita. - Com base em qualquer lista de padrões glob de arquivos e caminhos em um arquivo
.gitignorena raiz do pacote, mais a lista de padrões glob de arquivos e caminhos no mapeamentoinclude, o mapeamentoexcludepode conter uma lista de padrões glob de arquivos, padrões glob de caminhos ou ambos, relativos à raiz do pacote, para excluir explicitamente.
Todos os caminhos para arquivos e pastas especificados são relativos à localização do arquivo de configuração do pacote no qual estão especificados.
A sintaxe para padrões de arquivos e caminhos em include e exclude segue a sintaxe padrão de padrões em .gitignore . Consulte Formato do 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 na pasta my_package/dist com uma extensão de arquivo *.whl são incluídos. Quaisquer outros arquivos na pasta my_package/dist não estão incluídos.
No entanto, 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 na pasta my_package/dist com uma extensão de arquivo de *.whl, exceto o arquivo chamado delete-me.whl, são incluídos. Quaisquer outros arquivos na pasta my_package/dist também não estão incluídos.
O mapeamento de sync também pode ser declarado no mapeamento de targets para um alvo específico. Qualquer mapeamento de sync declarado em um destino é mesclado com qualquer declaração de mapeamento de sync de nível superior. Por exemplo, continuando com o exemplo anterior, o seguinte mapeamento de include no nível targets se funde com o mapeamento de include no mapeamento de sync de nível superior:
targets:
dev:
sync:
include:
- my_package/dist/delete-me.whl
caminhos de sincronização
O mapeamento sync pode conter um mapeamento paths que especifica caminhos locais para sincronizar com o workspace. O mapeamento paths permite compartilhar arquivos comuns entre pacotes e pode ser usado para sincronizar arquivos localizados fora da raiz do pacote. (O diretório raiz do pacote é a localização 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ções.
Os caminhos especificados devem ser relativos a arquivos e diretórios ancorados na pasta onde 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 de pastas permaneça intacta. Por exemplo, se a pasta raiz do pacote for nomeada my_bundle , então esta configuração em databricks.yml sincroniza a pasta common localizada um nível acima da raiz do pacote e a própria raiz do pacote:
sync:
paths:
- ../common
- .
A implantação deste pacote resulta na seguinte estrutura de pastas no workspace:
common/
common_file.txt
my_bundle/
databricks.yml
src/
...
alvos
Type: Map
Define os contextos de destino de implantação para o pacote. Cada destino é uma coleção única de artefatos, configurações workspace Databricks e, às vezes, detalhes de recursos específicos do destino.
O mapeamento targets consiste em um ou mais mapeamentos de destino, cada um dos quais deve ter um nome programático (ou lógico) único. Este mapeamento é opcional, mas altamente recomendado.
As configurações dentro do mapeamento targets têm precedência sobre as configurações especificadas no workspace de nível superior, artefatos e mapeamentos de recursos .
Um alvo também pode sobrescrever os valores de quaisquer variáveis de nível superior.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
targets:
<target-name>:
<target-field-name>: <target-field-value>
Chave | Tipo | Descrição |
|---|---|---|
| Mapa | Os artefatos a serem incluídos na implantação de destino. Veja artefatos. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | Os atributos do pacote quando implantados neste destino. Veja o pacote. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | A ID do clustering a ser usado para esse destino. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | Obsoleto. O ID do site compute a ser usado para esse alvo. |
| Booleana | Se este alvo é o alvo default . Consulte targets.name.default. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As configurações de controle de versão do Git para o destino. Veja git. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O modo de implantação para o alvo. Os valores válidos são Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Sequência | As permissões para implantar e executar o pacote no destino. Veja as permissões. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As predefinições de implantação para o alvo. Veja os alvos. nome .presets. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | As definições de recurso para o alvo. Ver recurso. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | A identidade a ser usada para executar o pacote. Consulte execução e Especificar uma identidade de execução para um Databricks ativo Bundles fluxo de trabalho. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | Os caminhos locais a serem sincronizados com o destino workspace quando um pacote é executado ou implantado. Consulte sincronização. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | Definições de variáveis personalizadas para o alvo. Veja as variáveis. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | O workspace Databricks para o alvo. Veja workspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
alvos. nome padrão
Para especificar um destino default para o comando bundle, defina o mapeamento default para true. Por exemplo, este alvo denominado dev é o alvo default :
targets:
dev:
default: true
Se um destino default não estiver configurado, ou se você quiser validar, implantar e executar Job ou pipeline dentro de um destino específico, use a opção -t do comando bundle.
O seguinte comando valida, implanta e executa my_job dentro dos 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 exemplo a seguir declara dois alvos. O primeiro alvo tem o nome dev e é o alvo default usado quando nenhum alvo é especificado para o comando bundle. O segundo alvo tem o nome prod e é usado apenas quando este alvo é especificado para o comando bundle.
targets:
dev:
default: true
prod:
workspace:
host: https://<production-workspace-url>
alvos. nome .modo
Para facilitar o desenvolvimento e as melhores práticas CI/CD , Databricks Ativo Bundles oferece modos de implantação para destinos que definem comportamentos default para fluxos de trabalho de pré-produção e produção. Alguns comportamentos também podem ser configurados usando destinos. nome .presets.
Para obter detalhes, consulte os modos de implantaçãoDatabricks ativo Bundle.
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 ativos Databricks.
Para especificar que um alvo é tratado como um alvo de desenvolvimento, adicione o mapeamento mode definido para development. Para especificar que um alvo é tratado como um alvo de produção, adicione o mapeamento mode definido em production. Por exemplo, este alvo denominado prod é tratado como um alvo de produção:
targets:
prod:
mode: production
alvos. nome .predefinições
Você pode personalizar alguns dos comportamentos de implantação de destino mode usando o mapeamento presets .
Para obter uma lista das predefinições disponíveis, consulte Predefinições personalizadas.
O exemplo a seguir mostra um destino de produção personalizado que prefixa e tags 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 default , se a variável personalizada é de 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>
As variáveis são consideradas do tipo string, a menos que type seja definido como complex. Veja Definir uma variável complexa.
Para referenciar 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 Ativo Bundles.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| Qualquer um | O valor default da variável. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | A descrição da variável. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Mapa | O nome do objeto Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O tipo da variável, simples ou complexa. Defina esta key apenas se a variável for complexa. Valores válidos: Adicionado na versão 0.229.0 ou inferior CLI Databricks |
variáveis. nome .lookup
Type: Map
O nome do alerta, cluster_policy, cluster, dashboard, instance_pool, Job, metastore, pipeline, query, service_principal ou objeto de warehouse para o qual se deseja 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 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | O nome do alerta para o qual se deseja recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do clustering para o qual se deseja recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do clustering para o qual se deseja recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do painel para o qual recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do instance_pool para o qual recuperar um ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do trabalho para o qual se deseja recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome da metastore para a qual recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do notification_destination para o qual recuperar uma ID. Adicionado na versão 0.236.0 da CLI do Databricks. |
| String | O nome do pipeline para o qual se deseja recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome da consulta para a qual recuperar um ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do serviço para o qual o senhor deseja recuperar um ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do depósito para o qual recuperar uma ID. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
workspace
Type: Map
Define o workspace Databricks para o pacote. O arquivo de configuração do pacote pode conter apenas um mapeamento de nível superior workspace para especificar quaisquer configurações workspace Databricks nãodefault a serem usadas.
Os caminhos workspace Databricks válidos começam com /Workspace ou, para artefatos, /Volumestambém é suportado. Os caminhos workspace personalizados são automaticamente prefixados com /Workspace, portanto, se você usar qualquer substituição de caminho workspace em seu caminho personalizado, como ${workspace.file_path}, você não precisa adicionar /Workspace ao caminho.
Adicionado na versão 0.229.0 ou inferior CLI Databricks
Chave | Tipo | Descrição |
|---|---|---|
| String | O caminho do artefato a ser usado no site workspace para implantações e fluxo de trabalho de execução Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | 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. Consulte o recurso Autorizar acesso ao Databricks. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O ID do cliente Azure. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O ambiente Azure. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | ID do aplicativo de login do Azure. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O ID tenant Azure . Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| Booleana | Se devo usar MSI para o Azure. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O ID do recurso workspace Azure . Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O ID do cliente para o workspace. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O caminho do arquivo a ser usado no workspace para implantações e execução do fluxo de trabalho. Consulte workspace.file_path. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome account do serviço do Google. Consulte Autenticaçãoworkspace. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | URL do host workspace do Databricks . Veja os nomes, URLs e IDs das instâncias do espaço de trabalho. A configuração do mapeamento Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O nome do perfil workspace Databricks . Consulte workspace.profile. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O caminho do recurso workspace Adicionado na versão 0.230.0 da CLI do Databricks. |
| String | O caminho raiz workspace Databricks . Consulte workspace.root_path. Adicionado na versão 0.229.0 ou inferior CLI Databricks |
| String | O caminho do estado workspace . Essa key assume por padrão o caminho default Adicionado na versão 0.229.0 ou inferior CLI Databricks |
Autenticaçãoworkspace
O mapeamento workspace também pode conter mapeamentos para especificar o mecanismo de autenticação Databricks a ser usado. Caso não estejam especificados no mapeamento workspace de nível superior, eles deverão ser especificados em um mapeamento workspace como filhos de um ou mais dos destinos no mapeamento de destinos de nível superior.
- Para autenticação OAuth máquina a máquina (M2M), o mapeamento
client_idé usado. Alternativamente, você pode definir esse valor na variável de ambiente localDATABRICKS_CLIENT_ID. Ou você pode criar um perfil de configuração com o valorclient_ide, em seguida, especificar o nome do perfil com o mapeamentoprofile(ou usando as opções--profileou-pao executar o comando bundle validate, implant, execução e destroy com a CLI Databricks ). Consulte Autorizar o acesso da entidade de serviço ao Databricks com OAuth.
Não é possível especificar um valor de segredo do cliente 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, em seguida, especificar o nome do perfil com o mapeamento profile (ou usando as opções --profile ou -p ao executar o comando bundle validate, implant, execução e destroy com a CLI Databricks ).
caminho_raizworkspace
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 fluxos de trabalho, como por exemplo:
workspace:
root_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}
Por default, para root_path o Databricks CLI usa o caminho default de /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}, que usa substituições.
caminho_do_artefatoworkspace
Esse mapeamento de workspace também pode conter um mapeamento de artifact_path para especificar um caminho de artefato não padrão a ser usado no workspace para implantações e execuções de fluxos de trabalho, como por exemplo:
workspace:
artifact_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/artifacts
Por default, para artifact_path o Databricks CLI usa o caminho default de ${workspace.root}/artifacts, que usa substituições.
O mapeamento artifact_path não oferece suporte aos caminhos do Databricks File System (DBFS).
workspace.caminho_do_arquivo
Esse mapeamento de workspace também pode conter um mapeamento de file_path para especificar um caminho de arquivo não padrão a ser usado no workspace para implantações e execuções de fluxos de trabalho, como por exemplo:
workspace:
file_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/files
Por default, para file_path o Databricks CLI usa o caminho default de ${workspace.root}/files, que usa substituições.
Não é possível especificar variáveis personalizadas para esses valores de autenticação usando a sintaxe ${var.*} .
perfilworkspace
A Databricks recomenda que você use o mapeamento host (ou as opções --profile ou -p ao executar os comandos de validação, implantação, execução e destruição do pacote com a CLI do Databricks) em vez do mapeamento profile, pois isso torna os arquivos de configuração do pacote mais portáteis.
O mapeamento profile especifica o nome de um perfil de configuração a ser usado para autenticar neste workspace Databricks . Este perfil de configuração corresponde ao que você criou ao configurar a CLI do Databricks.
Objetos comuns
presente
Type: Map
Define os detalhes do controle de versão 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 Job implantado por CI/CD.
Sempre que você executar um comando bundle como validate, deploy ou run, o comando bundle preencherá a árvore de configuração do comando com as seguintes configurações default :
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 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 em branco.
Chave | Tipo | Descrição |
|---|---|---|
| String | O nome da branch Git atual. Este é o mesmo valor que você obteria se executasse o comando |
| String | O URL de origem do repositório. Este é o mesmo valor que você obteria se executasse o comando |
Exemplos
Você pode substituir as configurações origin_url e branch dentro do mapeamento git 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>