Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje syntaxi pro režimy nasazení deklarativní automatizace. Sady prostředků umožňují programovou správu pracovních postupů Azure Databricks. Podívejte se na to, co jsou deklarativní balíčky automatizace.
V pracovních postupech CI/CD vývojáři obvykle kódují, testují, nasazují a spouštějí řešení v různých fázích nebo režimech. Nejjednodušší sada režimů například zahrnuje vývojový režim pro předprodukční ověřování, po kterém následuje produkční režim pro ověřené dodávky. Deklarativní balíčky automatizace poskytují volitelnou kolekci výchozích chování, která odpovídají jednotlivým těmto režimům.
Režimy nasazení jsou volitelné. Sady můžete nasadit bez nastavení mode nebo konfigurace presets. Režimy nasazení jsou pohodlné pro použití skupiny běžně používaných nastavení najednou.
Režim vývoje
Pokud chcete sadu nasadit ve vývojovém režimu, přidejte mode mapování nastavené na development na zamýšlený cíl. Viz mapování cílů konfigurace balíčku. Například tento cíl s názvem dev je považován za vývojový cíl.
targets:
dev:
mode: development
Nasazení cíle v režimu vývoje spuštěním databricks bundle deploy -t <target-name> příkazu implementuje následující chování, které lze přizpůsobit pomocí předvoleb:
- Předřadí všechny prostředky, které nejsou nasazené jako soubory nebo poznámkové bloky, s předponou
[dev ${workspace.current_user.short_name}]a označí každou nasazenou úlohu a kanál značkoudevAzure Databricks. - Označí všechny související nasazené kanály Lakeflow jako
development: true. - Povolí použití
--cluster-id <cluster-id>v souvisejících voláních příkazubundle deploy, kterým přepíše veškeré existující definice clusteru, které jsou již zadány v souvisejícím konfiguračním souboru balíčku. Místo použití--cluster-id <cluster-id>v souvisejících voláních příkazubundle deploymůžete zde nastavit mapování pomocícluster_idnebo jako podřízené mapování k mapováníbundlena ID clusteru, který chcete použít. - Pozastaví všechny plány a triggery na nasazených prostředcích, jako jsou úlohy nebo monitorování kvality. Pro obnovení pozastavení jednotlivé úlohy nastavte the
pause_statustoUNPAUSEDpro mapování, které definuje, jak běží. Napříkladschedule.pause_statuspro plánovanou práci nebocontinuous.pause_statuspro kontinuální práci. Podívejte se na úlohu. - Umožňuje souběžná spuštění na všech nasazených úlohách pro rychlejší iteraci. Zakažte souběžná spuštění pro jednotlivé úlohy nastavením
max_concurrent_runsna1. - Zakáže zámek nasazení pro rychlejší iteraci. Tento zámek zabraňuje konfliktům nasazení, ke kterým v režimu vývoje pravděpodobně nedojde. Znovu povolte zámek nastavením
bundle.deployment.lock.enablednatrue.
Produkční režim
Pokud chcete nasadit sadu v produkčním režimu, přidejte mode mapování nastavené na productionzamýšlený cíl. Viz mapování cílů konfigurace balíčku. Tento název cíle prod se například považuje za produkční cíl:
targets:
prod:
mode: production
Nasazení cíle v produkčním režimu spuštěním databricks bundle deploy -t <target-name> příkazu implementuje následující chování:
Ověří, že jsou všechny související nasazené kanály Lakeflow označené jako
development: false.Ověří, že aktuální větev Gitu je rovna větvi Gitu, která je zadaná v cíli. Zadání větve Git v cíli je volitelné a dá se provést s další
gitvlastností následujícím způsobem:git: branch: mainToto ověření lze přepsat zadáním
--forcepři nasazování.Databricks doporučuje používat služební principály pro produkční nasazení. Nastavením
run_asna principál služby můžete toto vynutit. Viz Principály služby a Určení identity spuštění pro pracovní postup deklarativních balíčků automatizace. Pokud nepoužíváte aplikační identity, poznamenejte si následující chování:- Ověří, že mapování
artifact_path,file_path,root_pathnebostate_pathnejsou přepsána konkrétnímu uživateli. - Ověří, že mapování
run_asapermissionsjsou zadána, aby bylo jasné, které identity mají specifická oprávnění pro nasazení.
- Ověří, že mapování
Na rozdíl od předchozího chování pro nastavení mapování
modenadevelopment, nastavení mapovánímodenaproductionneumožňuje přepsání existujících definic clusteru, které jsou zadány v souvisejícím konfiguračním souboru sady, například pomocí možnosti--compute-id <cluster-id>nebo mapovánícompute_id.
Tip
Pokud chcete zaručit, aby nasazené prostředky nemohli upravovat uživatelé bez oprávnění administrátora a aby běžící úlohy nebyly ovlivněny probíhajícími nasazeními, nasaďte svůj balíček do neměnné složky pouze pro čtení. Viz immutable_folder.
Vlastní předvolby
Deklarativní balíčky automation podporují konfigurovatelné předvolby cílů, které umožňují přizpůsobit chování cílů. Dostupné předvolby najdete v referenčních informacích ke konfiguraci.
Poznámka:
Pokud není uvedena výjimka pro předvolbu a jsou nastaveny obě mode a presets, předvolby přepíší výchozí režim chování a nastavení jednotlivých prostředků přepíší předvolby. Například:
- Pokud je
max_concurrent_runspro úlohu nastaveno na 10, ale předvolbajobs_max_concurrent_runsje nastavena na 20, maximální počet souběžných spuštění úlohy je 10. - Pokud je plán nastavený na
UNPAUSED, ale předvolbatrigger_pause_statusje nastavena naPAUSED, plán bude obnoven.
Následující příklad ukazuje vlastní konfiguraci předvoleb pro cíl s názvem dev:
targets:
dev:
presets:
name_prefix: 'testing_' # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance