Distributionslägen för Databricks Asset Bundle
I den här artikeln beskrivs syntaxen för distributionslägena för Databricks Asset Bundle . Paket möjliggör programmatisk hantering av Azure Databricks-arbetsflöden. Se Vad är Databricks-tillgångspaket?
I CI/CD-arbetsflöden kodar, testar, distribuerar och kör utvecklare vanligtvis lösningar i olika faser eller lägen. Till exempel innehåller den enklaste uppsättningen lägen ett utvecklingsläge för förproduktionsvalidering, följt av ett produktionsläge för verifierade slutprodukt. Databricks Asset Bundles innehåller en valfri samling standardbeteenden som motsvarar var och en av dessa lägen. Dina paketdistributioner kan använda dessa beteenden med en enradslägesdeklaration i stället för att manuellt ange dessa standardbeteenden i paketkonfigurationsfilen och kanske glömma att lägga till eller konfigurera något av de mer avsedda beteendena längs vägen.
Utvecklingsläge
Om du vill distribuera ditt paket i utvecklingsläge måste du först lägga till mappningen mode
, inställd development
på , till det avsedda målet. Det här målet med namnet dev
behandlas till exempel som ett utvecklingsmål:
targets:
dev:
mode: development
När du distribuerar ett utvecklingsmål genom att databricks bundle deploy -t <target-name>
köra kommandot implementeras följande beteenden:
- Förbereder alla resurser som inte distribueras som filer eller notebook-filer med prefixet
[dev ${workspace.current_user.userName}]
och taggarna för varje distribuerat jobb och pipeline med endev
Azure Databricks-tagg. - Markerar alla relaterade distribuerade Delta Live Tables-pipelines som
development: true
. Se Använda utvecklingsläge för att köra pipelineuppdateringar. - Aktiverar användning av
--compute-id <cluster-id>
i relaterade anrop tillbundle deploy
kommandot, vilket åsidosätter alla befintliga klusterdefinitioner som redan har angetts i den relaterade paketkonfigurationsfilen. I stället för att använda--compute-id <cluster-id>
relaterade anrop tillbundle deploy
kommandot kan du ange mappningencompute_id
här, eller som en underordnad mappning av mappningenbundle
, till ID:t för klustret som ska användas. - Pausar alla scheman och utlösare för distribuerade jobb. Ta bort pausscheman och utlösare för ett enskilt jobb genom att ange
schedule.pause_status
tillUNPAUSED
. - Aktiverar samtidiga körningar på alla distribuerade jobb för snabbare iteration. Inaktivera samtidiga körningar för ett enskilt jobb genom att ange
max_concurrent_runs
till1
. - Inaktiverar distributionslåset för snabbare iteration. Det här låset förhindrar distributionskonflikter som sannolikt inte inträffar i utvecklingsläge. Återaktivera låset genom att ange
bundle.deployment.lock.enabled
tilltrue
.
Produktionsläge
Om du vill distribuera paketet i produktionsläge måste du först lägga till mappningen mode
, inställd production
på , till det avsedda målet. Det här målet med namnet prod
behandlas till exempel som ett produktionsmål:
targets:
prod:
mode: production
När du distribuerar ett produktionsmål genom att databricks bundle deploy -t <target-name>
köra kommandot implementeras följande beteenden:
Verifierar att alla relaterade distribuerade Delta Live Tables-pipelines har markerats som
development: false
.Verifierar att den aktuella Git-grenen är lika med Git-grenen som anges i målet. Det är valfritt att ange en Git-gren i målet och kan göras med ytterligare en
git
egenskap enligt följande:git: branch: main
Den här verifieringen kan åsidosättas genom att
--force
ange när du distribuerar.Databricks rekommenderar att du använder tjänstens huvudnamn för produktionsdistributioner. Du kan framtvinga detta genom att ange
run_as
tjänstens huvudnamn. Se Hantera tjänstens huvudnamn och Ange en körningsidentitet för ett Databricks Asset Bundles-arbetsflöde. Observera följande ytterligare beteenden om du inte använder tjänstens huvudnamn:- Verifierar att
artifact_path
,file_path
,root_path
ellerstate_path
mappningar inte åsidosätts för en viss användare. - Verifierar att
run_as
mappningarna ochpermissions
anges för att klargöra vilka identiteter som har specifika behörigheter för distributioner.
- Verifierar att
Till skillnad från föregående beteende för att ställa in
mode
mappningen pådevelopment
tillåter inte inställningenmode
mappning tillproduction
att åsidosätta befintliga klusterdefinitioner som anges i den relaterade paketkonfigurationsfilen, till exempel med hjälp--compute-id <cluster-id>
av alternativet eller mappningencompute_id
.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för