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",
"...": "..."
}
},
"...": "..."
}