Partilhar via


Definir configurações de artefato no Databricks Asset Bundles

Este artigo descreve como anular as configurações de artefatos nos Databricks Asset Bundles. Veja O que são Databricks Asset Bundles?

No Azure Databricks , nos arquivos de configuração do pacote, é possível sobrepor as configurações de artefato em um mapeamento de nível superior artifacts com as configurações de artefato em um mapeamento targets, por exemplo:

# ...
artifacts:
  <some-unique-programmatic-identifier-for-this-artifact>:
    # Artifact settings.

targets:
  <some-unique-programmatic-identifier-for-this-target>:
    artifacts:
      <the-matching-programmatic-identifier-for-this-artifact>:
        # Any more artifact settings to join with the settings from the
        # matching top-level artifacts mapping.

Se qualquer configuração de artefato for definida no mapeamento de artifacts de nível superior e no mapeamento de targets para o mesmo artefato, a configuração no mapeamento de targets terá precedência sobre a configuração no mapeamento de artifacts de nível superior.

Exemplo 1: Configurações de artefato definidas somente no mapeamento de artefatos de nível superior

Para demonstrar como isso funciona na prática, no exemplo a seguir, path é definido no mapeamento no nível superior artifacts, que define todas as configurações para o artefato (reticências indicam conteúdo omitido para maior brevidade):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package
# ...

Quando você executa databricks bundle validate para este exemplo, o gráfico resultante é:

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_package",
      "...": "..."
    }
  },
  "...": "..."
}

Exemplo 2: Configurações de artefato conflitantes definidas em vários mapeamentos de artefatos

Neste exemplo, path é definido no mapeamento de artifacts de nível superior e no mapeamento de artifacts em targets. Neste exemplo, path no mapeamento de artifacts em targets prevalece sobre path no mapeamento de nível superior artifacts, para definir as definições do artefacto (as reticências indicam conteúdo omitido, para abreviar):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package

targets:
  dev:
    artifacts:
      my-artifact:
        path: ./my_other_package
    # ...

Quando você executa databricks bundle validate para este exemplo, o gráfico resultante é (reticências indicam conteúdo omitido, para brevidade):

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_other_package",
      "...": "..."
    }
  },
  "...": "..."
}