Definiera artefaktinställningar dynamiskt i Databricks-tillgångspaket
I den här artikeln beskrivs hur du åsidosätter inställningarna för artefakter i Databricks-tillgångspaket. Se Vad är Databricks-tillgångspaket?
I Azure Databricks-paketkonfigurationsfiler kan du koppla artefaktinställningarna i en mappning på den översta nivån artifacts
med artefaktinställningarna i en targets
mappning, till exempel (ellipser anger utelämnat innehåll, för korthet):
# ...
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.
Om någon artefaktinställning definieras både i mappningen på den översta nivån och mappningen targets
för samma artefakt har inställningen i mappningen targets
företräde framför inställningen i mappningen på den översta nivånartifacts
.artifacts
Exempel 1: Artefaktinställningar som endast definierats i mappningen av artefakter på den översta nivån
För att visa hur detta fungerar i praktiken definieras i följande exempel path
i mappningen på den översta nivån artifacts
, som definierar alla inställningar för artefakten (ellipser anger utelämnat innehåll, för korthet):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
När du kör databricks bundle validate
för det här exemplet är det resulterande diagrammet (ellipser anger utelämnat innehåll, för korthet):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
Exempel 2: Motstridiga artefaktinställningar som definierats i flera artefaktmappningar
I det här exemplet path
definieras både i toppnivåmappningen artifacts
och i mappningen artifacts
i targets
. I det här exemplet path
har mappningen artifacts
i targets
företräde framför path
i den översta mappningen artifacts
, för att definiera inställningarna för artefakten (ellipser anger utelämnat innehåll, för korthet):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
När du kör databricks bundle validate
för det här exemplet är det resulterande diagrammet (ellipser anger utelämnat innehåll, för korthet):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}