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.
Tento článek představuje základní koncepty aplikací Databricks, včetně toho, jak jsou aplikace strukturované, jak spravují závislosti a stav, jak fungují oprávnění a jak aplikace pracují s prostředky platformy. Pochopení těchto konceptů pomáhá při vývoji, nasazování a správě aplikací ve vašem pracovním prostoru.
App
Aplikace Databricks je webová aplikace, která běží jako kontejnerizovaná služba na bezserverové platformě Azure Databricks. Vývojáři používají podporované architektury, jako je Streamlit, Dash nebo Gradio, k vytváření aplikací, které poskytují interaktivní data nebo prostředí AI v pracovním prostoru Azure Databricks.
Každá aplikace zahrnuje vlastní konfiguraci, identitu a izolované prostředí runtime. Vzhledem k tomu, že aplikace patří do určitého pracovního prostoru, mají přístup k prostředkům na úrovni pracovního prostoru, jako jsou SQL Warehouse a prostředky na úrovni účtu, jako je Katalog Unity. Vývojáři se také můžou rozhodnout sdílet aplikace s uživateli mimo pracovní prostor, ale ve stejném účtu Azure Databricks.
I když kontejner aplikace běží na bezserverové infrastruktuře Azure Databricks, samotná aplikace se může připojit k bezserverovým i bezserverovým prostředkům. Konceptuálně aplikace funguje jako služba roviny řízení, která hostuje webové uživatelské rozhraní a přistupuje k dostupným službám roviny dat Azure Databricks. Další informace najdete v přehledu architektury Databricks.
Pokud chcete spouštět a spravovat aplikace, přejděte do části Aplikace v uživatelském rozhraní pracovního prostoru.
Adresa URL aplikace
Databricks při vytváření automaticky přiřadí každé aplikaci jedinečnou adresu URL. Adresa URL se řídí tímto formátem:
https://<app-name>-<workspace-id>.<region>.databricksapps.com
Where:
-
<app-name>je název, který zadáte při vytváření aplikace. -
<workspace-id>je jedinečný identifikátor vašeho pracovního prostoru. -
<region>je oblast cloudu, ve které se nachází váš pracovní prostor.
Po vytvoření aplikace nemůžete změnit adresu URL. Pokud potřebujete jinou adresu URL, vytvořte novou aplikaci s jiným názvem.
Template
Šablona aplikace je předem vytvořené rozhraní, které vývojářům pomáhá rychle vytvářet aplikace pomocí podporované architektury. Každá šablona obsahuje základní strukturu souborů, app.yaml manifest, requirements.txt soubor pro aplikace Pythonu a ukázkový zdrojový kód.
Soubor app.yaml definuje příkaz pro spuštění aplikace (například streamlit run <app-name> pro aplikaci Streamlit), nastaví místní proměnné prostředí a deklaruje všechny požadované prostředky.
- Slouží
requirements.txtk výpisu dalších balíčků Pythonu pro instalaci pomocípip. - Slouží
package.jsonk výpisu Node.js balíčků pro instalaci pomocínpmnástroje .
Tyto soubory doplňují výchozí systémové prostředí a předinstalované balíčky. Další informace najdete v tématu Systémové prostředí Databricks Apps.
Vývojáři můžou vygenerovat novou aplikaci ze šablony pomocí uživatelského rozhraní Azure Databricks nebo rozhraní příkazového řádku.
Systémové prostředí a balíčky
Aplikace Databricks běží v předkonfigurovaném systémovém prostředí spravovaném službou Azure Databricks. Podrobnosti najdete v systémovém prostředí Databricks Apps.
Každá aplikace má své vlastní izolované prostředí, které brání konfliktům závislostí. Pokud chcete zajistit konzistenci, definujte požadované balíčky a jejich verze v příslušném souboru pro vaši aplikaci:
- Pro Python použijte
requirements.txt. - Pro Node.jspoužijte
package.json.
U hybridních nasazení budete pravděpodobně mít oba soubory.
Během nasazování Azure Databricks tyto závislosti nainstaluje do izolovaného prostředí runtime aplikace. Pokud zahrnete balíček, který je již předinstalovaný, zadaná verze přepíše výchozí hodnotu.
Další podrobnosti najdete v tématu Správa závislostí pro aplikaci Databricks .
Prostředky aplikací
Prostředky aplikací jsou nativní služby Azure Databricks, na které aplikace závisí, jako jsou služby SQL Warehouse, model obsluhující koncové body, úlohy, tajné kódy nebo svazky. Tyto závislosti v manifestu databricks.yml deklarujete pomocí resources pole. Azure Databricks podporuje následující typy prostředků:
- SQL Warehouse
- Job
- Koncový bod obsluhy modelu
- Genie space
- Secret
- Volume
Pokud chcete získat přístup ke službám Azure Databricks, které ještě nemají podporovaný typ prostředku, použijte tajný kód spravovaný službou Unity Catalog k bezpečnému vložení přihlašovacích údajů. Viz správa tajemství.
Konfigurace prostředků aplikace má dvě fáze:
-
Deklarace (vývoj) – Deklarujte každý požadovaný prostředek v manifestu
databricks.yml. Tím se definuje, které prostředky aplikace potřebuje a jaká oprávnění vyžaduje. - Konfigurace (nasazení) – Během nasazení pomocí uživatelského rozhraní Databricks Apps nakonfigurujte deklarované prostředky se skutečnými instancemi specifických pro pracovní prostor (například výběrem konkrétního SQL Warehouse).
Toto oddělení mezi deklarací a konfigurací umožňuje přenos aplikací napříč prostředími. Můžete například nasadit stejný kód aplikace do vývojového pracovního prostoru a propojit ho s jedním SQL Warehouse. V produkčním prostředí můžete kód znovu použít a nakonfigurovat jiný sklad, aniž byste museli provádět změny kódu. Pokud to chcete podporovat, vyhněte se pevně zakódování ID prostředků nebo hodnot specifických pro prostředí ve vaší aplikaci.
Azure Databricks vynucuje přístup s nejnižšími oprávněními. Aplikace musí používat existující prostředky a nemůžou vytvářet nové. Během nasazování správci pracovního prostoru kontrolují a schvalují požadovaný přístup k prostředkům aplikace. Hlavní služba aplikace obdrží potřebná oprávnění a vývojář aplikace musí mít oprávnění k jejich udělení.
Další informace najdete v tématu Přidání prostředků do aplikace Databricks.
Stav aplikace
Aplikace může mít jeden z následujících stavů: Spuštěno, Zastaveno, Nasazení nebo Chybové ukončení.
- V provozu – Aplikace je aktivní a přístupná. Azure Databricks účtuje výpočetní prostředky používané během běhu aplikace.
- Zastaveno – Aplikace není přístupná a neúčtují se žádné náklady. Azure Databricks zachovává konfiguraci a prostředí aplikace, takže ji můžete restartovat bez změny konfigurace.
- Nasazení – Aplikace se spouští. Zatím není přístupný a během této fáze se neúčtují žádné poplatky.
- Chyba – Aplikaci se nepodařilo spustit nebo zastavit neočekávaně. Je nepřístupný a neúčtují se vám žádné poplatky. Po vyřešení problému můžete zobrazit protokoly pro řešení potíží a restartování aplikace.
Stav aplikace
Stav aplikace zahrnuje všechna data nebo kontext, která aplikace potřebuje zachovat napříč relacemi nebo interakcemi uživatelů. Aplikace po restartování nezachovají stav v paměti. Při vypnutí aplikace dojde ke ztrátě všech dat uložených v paměti.
Stav můžete uložit následujícími způsoby:
- Úložiště v paměti pro dočasná data během jedné uživatelské relace. Tato data se při restartování aplikace ztratí.
- Místní systém souborů pro dočasné soubory během provádění aplikace. Tato data se při restartování aplikace ztratí.
- Tabulky Azure Databricks využívající Databricks SQL pro trvalé úlohy strukturovaných dat a analýz
- Soubory pracovního prostoru pro trvalá nestrukturovaná data
- Unity Catalog svazky pro trvalá nestrukturovaná data v rámci správy Unity Catalog.
- Instance databáze Lakebase pro trvalá relační data s kompatibilitou PostgreSQL.
Mezi běžné případy použití patří ukládání výsledků dotazů do mezipaměti, ukládání uživatelských předvoleb nebo protokolování akcí uživatelů napříč relacemi.
Ověřování a autorizace aplikací
Databricks Apps používá pro ověřování a řízení přístupu OAuth 2.0. Každá aplikace má dvě doplňkové identity, které určují, jak ověřuje a autorizuje přístup k prostředkům Azure Databricks: autorizace aplikací a autorizace uživatelů.
Autorizace aplikací – Azure Databricks automaticky vytvoří služebního principála pro každou aplikaci. Tento instanční objekt funguje jako identita aplikace a má udělená oprávnění vývojářem aplikace. Tuto identitu sdílí všichni uživatelé aplikace a mají přístup ke stejné sadě oprávnění. Tento model je užitečný pro operace, které nezávisí na kontextu jednotlivých uživatelů, jako je protokolování nebo akce na úrovni systému.
Autorizace uživatele – Tento model používá identitu uživatele aplikace k ověření a autorizaci přístupu. Uživatelé musí patřit do účtu Azure Databricks, ve kterém je aplikace nasazená. Po přihlášení přes jednotné přihlašování (SSO) může aplikace použít přihlašovací údaje uživatele pro přístup k řídicím prostředkům, jako je SQL Warehouse. To umožňuje aplikaci respektovat jemně odstupňovaná oprávnění spravovaná katalogem Unity, aniž by tato oprávnění byla udělena hlavnímu objektu služby aplikace.
Aplikace v manifestu vyžadují konkrétní obory OAuth, které určují, ke kterým rozhraním API a prostředkům mají přístup. Tento flexibilní model podporuje zabezpečení na podnikové úrovni a umožňuje jemně odstupňované řízení přístupu.
Další informace najdete v tématu Konfigurace autorizace v aplikaci Databricks.
Uživatelé aplikací
Po nasazení můžou vývojáři aplikací sdílet aplikaci s uživateli nebo skupinami tím, že pro instanci aplikace udělí oprávnění CAN_USE nebo CAN_MANAGE. Uživatelé nemusí patřit do stejného pracovního prostoru, ale musí být součástí stejného účtu Azure Databricks. Pokud je chcete sdílet s externími uživateli, nejprve je synchronizujte s účtem pomocí zprostředkovatele identity. Další informace naleznete v tématu Synchronizace uživatelů a skupin z Microsoft Entra ID pomocí SCIM.
Stejnou aplikaci můžete také distribuovat napříč vývojovými, přípravovými a produkčními prostředími pomocí kanálů CI/CD a infrastruktury jako kódu. Centralizované uživatelské rozhraní aplikací pomáhá uživatelům zjišťovat a spouštět aplikace, které mají oprávnění používat.