Artefactinstellingen dynamisch definiëren in Databricks Asset Bundles
In dit artikel wordt beschreven hoe u de instellingen voor artefacten in Databricks Asset Bundles overschrijft. Zie Wat zijn Databricks-assetbundels?
In Azure Databricks-bundelconfiguratiebestanden kunt u de artefactinstellingen samenvoegen in een toewijzing op het hoogste niveau artifacts
met de artefactinstellingen in een targets
toewijzing, bijvoorbeeld (weglatingstekens geven inhoud aan, voor beknoptheid):
# ...
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.
Als er een artefactinstelling is gedefinieerd in zowel de toewijzing op het hoogste niveau artifacts
als de targets
toewijzing voor hetzelfde artefact, heeft de instelling in de targets
toewijzing voorrang op de instelling in de toewijzing op het hoogste niveau artifacts
.
Voorbeeld 1: Artefactinstellingen die alleen zijn gedefinieerd in de toewijzing van artefacten op het hoogste niveau
Om te laten zien hoe dit in de praktijk werkt, wordt in het volgende voorbeeld path
gedefinieerd in de toewijzing op het hoogste niveau artifacts
, waarmee alle instellingen voor het artefact worden gedefinieerd (weglatingstekens geven aan dat inhoud wordt weggelaten, ter beknoptheid):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
Wanneer u voor dit voorbeeld wordt uitgevoerd databricks bundle validate
, is de resulterende grafiek (weglatingstekens geven aan dat de inhoud wordt weggelaten, voor beknoptheid):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
Voorbeeld 2: Conflicterende artefactinstellingen gedefinieerd in meerdere artefacttoewijzingen
In dit voorbeeld path
wordt zowel in de toewijzing op het hoogste niveau artifacts
als in de artifacts
toewijzing in targets
. In dit voorbeeld path
heeft de artifacts
toewijzing targets
voorrang op path
de toewijzing op het hoogste niveau artifacts
om de instellingen voor het artefact te definiëren (weglatingstekens geven inhoud aan, ter beknoptheid):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
Wanneer u voor dit voorbeeld wordt uitgevoerd databricks bundle validate
, is de resulterende grafiek (weglatingstekens geven aan dat de inhoud wordt weggelaten, voor beknoptheid):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}