Definire le impostazioni degli artefatti nei bundle di asset di Databricks
Questo articolo descrive come eseguire l'override delle impostazioni per gli artefatti nei bundle di asset di Databricks. Vedi Che cosa sono i Databricks Asset Bundles?
In Azure Databricks bundle configuration files, puoi sovrascrivere le impostazioni dell'artefatto in una mappatura di alto livello artifacts
con le impostazioni dell'artefatto in una mappatura targets
, ad esempio:
# ...
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 un'impostazione di artefatto viene definita sia nel mapping artifacts
di livello superiore che nel mapping targets
per lo stesso artefatto, l'impostazione nel mapping targets
ha la precedenza sull'impostazione nel mapping di primo livello artifacts
.
Esempio 1: Impostazioni degli artefatti definiti solo nel mapping degli artefatti di primo livello
Per illustrare come funziona in pratica, nell'esempio seguente path
è definito nel mapping di primo livello artifacts
, che definisce tutte le impostazioni per l'artefatto (i puntini di sospensione indicano il contenuto omesso, per brevità):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
Quando si esegue databricks bundle validate
per questo esempio, il grafico risultante è:
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
Esempio 2: Impostazioni degli artefatti in conflitto definite in più mappature degli artefatti
In questo esempio, path
è definito sia nel mapping artifacts
di primo livello che nel mapping artifacts
in targets
. In questo esempio, path
nel mapping artifacts
in targets
ha la precedenza su path
nel mapping artifacts
di primo livello, per definire le impostazioni per l'artefatto (i puntini di sospensione indicano il contenuto omesso, per brevità):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
Quando si esegue databricks bundle validate
per questo esempio, il grafico risultante è (i puntini di sospensione indicano il contenuto omesso, per brevità):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}