Dynamiczne definiowanie ustawień artefaktu w pakietach zasobów usługi Databricks
W tym artykule opisano sposób zastępowania ustawień artefaktów w pakietach zasobów usługi Databricks. Zobacz Co to są pakiety zasobów usługi Databricks?
W plikach konfiguracji pakietu usługi Azure Databricks można dołączyć ustawienia artefaktów w mapowaniu najwyższego targets
poziomu artifacts
z ustawieniami artefaktu w mapowaniu, na przykład (wielokropek wskazuje pominiętą zawartość w celu zwięzłości):
# ...
artifacts:
<some-unique-programmatic-identifier-for-this-artifact>:
# Artifact settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
artifacts:
<the-matching-programmatic-identifier-for-this-artifact>:
# Any more artifact settings to join with the settings from the
# matching top-level artifacts mapping.
Jeśli dowolne ustawienie artefaktu jest zdefiniowane zarówno w mapowaniu najwyższego poziomu artifacts
, jak i targets
mapowaniu dla tego samego artefaktu, ustawienie w targets
mapowaniu ma pierwszeństwo przed ustawieniem w mapowaniu najwyższego poziomu artifacts
.
Przykład 1: Ustawienia artefaktów zdefiniowane tylko w mapowaniu artefaktów najwyższego poziomu
Aby zademonstrować, jak to działa w praktyce, path
w poniższym przykładzie zdefiniowano w mapowaniu najwyższego poziomu artifacts
, które definiuje wszystkie ustawienia artefaktu (wielokropek wskazuje pominiętą zawartość w celu zwięzłości):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
Po uruchomieniu databricks bundle validate
tego przykładu wynikowy wykres to (wielokropek wskazuje pominiętą zawartość w celu zwięzłości):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
Przykład 2. Ustawienia artefaktu powodujące konflikt zdefiniowane w wielu mapowaniach artefaktów
W tym przykładzie path
zdefiniowano zarówno mapowanie najwyższego poziomuartifacts
, jak i w mapowaniu w targets
pliku artifacts
. W tym przykładzie path
artifacts
w mapowaniu w targets
obiekcie pierwszeństwo path
przed mapowaniem najwyższego poziomu artifacts
, aby zdefiniować ustawienia artefaktu (wielokropek wskazuje pominiętą zawartość dla zwięzłości):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
Po uruchomieniu databricks bundle validate
tego przykładu wynikowy wykres to (wielokropek wskazuje pominiętą zawartość w celu zwięzłości):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}