Wat is Databricks-apps?
Belangrijk
Databricks-apps is beschikbaar als openbare preview.
Met Databricks-apps kunnen ontwikkelaars beveiligde gegevens en AI-toepassingen maken op het Databricks-platform en deze apps delen met gebruikers.
Voorheen moesten het maken van gegevens en AI-toepassingen die gebruikmaken van gegevens die worden beheerd door een Databricks-werkruimte en de functies voor gegevensanalyse van het Databricks-platform, afzonderlijke infrastructuur implementeren om toepassingen te hosten, ervoor zorgen dat de naleving van gegevensbeheercontroles, het beheren van toepassingsbeveiliging, inclusief verificatie en autorisatie, enzovoort. Met Databricks-apps host Databricks uw apps, zodat u geen extra infrastructuur hoeft te configureren of implementeren.
Uw apps kunnen gebruikmaken van de resources en functies van het Databricks-platform, waaronder Unity Catalog voor governance, Databricks SQL om query's uit te voeren op gegevens, AI-functies zoals modelservice, Databricks-taken voor ETL en de al geconfigureerde beveiligingsregels in de werkruimte, inclusief de regels die de toegang tot de gegevens beheren die door uw app worden gebruikt. Verificatie en autorisatie maken gebruik van bestaande Azure Databricks-functionaliteit, waaronder OAuth en service-principals.
Databricks heeft Databricks-apps ontworpen voor ontwikkelaars. U ontwikkelt uw apps in Python met behulp van elk framework zoals Dash, Streamlit of Gradio. Omdat uw apps draagbaar zijn, kunt u ze lokaal maken en er fouten in opsporen, ze implementeren in een Databricks-werkruimte en deze vervolgens verplaatsen naar een andere werkruimte.
Eisen
Werkruimtevereisten
Als u apps wilt implementeren en uitvoeren in uw Azure Databricks-werkruimte, moet de werkruimte voldoen aan de volgende vereisten:
- U moet ervoor zorgen dat uw firewall het domein
*.databricksapps.com
niet blokkeert. - Uw Databricks-werkruimte moet zich in een ondersteunde regio bevinden. Bekijk de beschikbaarheid van serverloze functies.
Vereisten voor ontwikkelomgevingen
Als u apps lokaal wilt maken en deze apps wilt implementeren in uw Azure Databricks-werkruimte, moet uw ontwikkelomgeving voldoen aan de volgende vereisten:
Python 3.11 of hoger.
De Databricks-opdrachtregelinterface (Databricks CLI), versie v0.229.0 of hoger, geconfigureerd voor toegang tot uw Databricks-werkruimte. Zie De Databricks CLI en verificatie voor de Databricks CLI installeren of bijwerken om de Databricks CLI en verificatie voor de Databricks CLI te installeren of bij te werken.
De Databricks SDK voor Python. U kunt de SDK installeren met
pip3
:pip3 install databricks-sdk
(Optioneel) Als uw app toegang nodig heeft tot Databricks SQL, installeert u de Databricks SQL Connector voor Python. U kunt de connector installeren met
pip3
:pip3 install databricks-sql-connector
Waar ontwikkel ik een Databricks-app?
U kunt apps schrijven en testen in elke IDE die Ondersteuning biedt voor Python, zoals PyCharm, IntelliJ IDEA of Visual Studio Code. Databricks raadt u aan uw apps te ontwikkelen met behulp van Visual Studio Code en de Databricks-extensie voor Visual Studio Code, maar u kunt ook het Databricks-notebook en de bestandseditor gebruiken om uw code rechtstreeks in uw Databricks-werkruimte te bewerken.
Hoe kan ik een Databricks-app ontwikkelen en implementeren?
Als u een app lokaal wilt ontwikkelen, is het volgende een typische werkstroom:
- Ontwikkel uw app in uw favoriete IDE, zoals Visual Studio Code.
- Voer uw app lokaal uit op de opdrachtregel en bekijk deze in uw browser.
- Wanneer de code is voltooid en getest, verplaatst u de code en vereiste artefacten naar uw Databricks-werkruimte.
Zie Aan de slag met Databricks-apps.
Kan ik Python-frameworks gebruiken met mijn Databricks-app?
U kunt uw app ontwikkelen met behulp van uw favoriete Python-frameworks, zoals Dash, Streamlit of Gradio. U kunt voorbeelden zien die gebruikmaken van populaire Python-frameworks in de gebruikersinterface van Databricks Apps. Zie Hoe kan ik een app maken in de gebruikersinterface van Databricks Apps?
Hoe beheert Databricks-apps autorisatie?
Het autorisatiemodel voor Databricks-apps omvat de gebruiker die toegang heeft tot de app en een door Azure Databricks beheerde service-principal die is toegewezen aan de app:
Voor toegang tot een app moet een gebruiker beschikken over CAN_USE- of CAN_MANAGE machtigingen voor de app. Zie Machtigingen configureren voor uw Databricks-app voor meer informatie over het toewijzen van machtigingen aan een app.
Wanneer een app wordt gemaakt, maakt Databricks Apps automatisch een door Azure Databricks beheerde service-principal en wijst deze service-principal toe aan de app. Deze service-principal heeft alleen toegang tot de werkruimte waarin de app is gemaakt en wordt gebruikt om toegang tot resources in de werkruimte te verifiëren en te autoriseren, zoals SQL-warehouses, modelservice-eindpunten of beveiligbare objecten in Unity Catalog. Alle toegang door een app naar gegevens of andere werkruimtebronnen wordt uitgevoerd namens de service-principal, niet de eigenaar of gebruiker van de app.
Databricks Apps verleent de service-principal automatisch machtigingen voor resources die aan de app zijn toegewezen als de gebruiker die de app implementeert, machtigingen heeft
CAN MANAGE
voor deze resources. Als toegang door de service-principal naar andere resources is vereist, bijvoorbeeld tabellen of werkruimtebestanden, moet een account- of werkruimtebeheerder de service-principal toegang verlenen tot deze resources. Wanneer u toegang verleent tot resources, raadt Databricks aan om het principe van minimale bevoegdheden te volgen en de service-principal alleen de minimale machtigingen te verlenen die nodig zijn. Zie Service-principals beheren.De naam van de service-principal vindt u op de pagina met app-details in de kaart App-resources . De service-principal bevat de app-naam, bijvoorbeeld voor een app met de naam
my-hello-world-app
, de naam van de service-principal isapp-22ixod my-hello-world-app
.
Wie kan Databricks-apps maken?
Elke gebruiker in een werkruimte kan apps maken. Als u echter de machtigingen wilt beheren van de service-principal die aan een app is toegewezen, moet u een account- of werkruimtebeheerder zijn.
Hoe kan ik mijn Databricks-app configureren?
Databricks Apps stelt automatisch verschillende omgevingsvariabelen in waartoe uw app toegang heeft, zoals de Databricks-host waarop uw app wordt uitgevoerd. U kunt ook aangepaste parameters instellen met behulp van een YAML-bestand. Zie de configuratie van Databricks-apps.
Hoe kan ik mijn Databricks-app integreren met Azure Databricks-services?
Uw apps kunnen gebruikmaken van Databricks-platformfuncties zoals Databricks SQL om gegevens, Databricks-taken op te vragen voor gegevensopname en -verwerking, Mozaïek AI Model Serving voor toegang tot generatieve AI-modellen en Databricks-geheimen voor het beheren van gevoelige informatie. Bij het configureren van uw app worden deze Databricks-platformfuncties resources genoemd.
Omdat apps echter zijn ontworpen om draagbaar te zijn, raadt Databricks aan dat apps niet afhankelijk zijn van specifieke resources. Uw app mag bijvoorbeeld niet worden vastgelegd om een bepaald SQL-warehouse te gebruiken. Configureer in plaats daarvan het SQL-warehouse in de gebruikersinterface van Databricks-apps bij het maken of bijwerken van een app.
Omdat apps zijn geconfigureerd om te worden uitgevoerd met de minste vereiste bevoegdheden, mogen ze geen nieuwe resources maken. In plaats daarvan moeten ze vertrouwen op het Databricks-platform om bestaande afhankelijke services op te lossen. Aan elke app is een Databricks-service-principal toegewezen. Tijdens het maken of bijwerken van de app krijgt de service-principal vereiste machtigingen voor gedefinieerde resourceafhankelijkheden.
Zie Databricks-platformfuncties toewijzen aan een Databricks-app voor meer informatie over het toevoegen van Databricks-platformfuncties als app-resources.
Waar vind ik auditlogboeken voor mijn Databricks-apps?
Gebruik de Systeemtabellen van Azure Databricks om controlegebeurtenissen voor apps te vinden. U kunt de systeemtabellen gebruiken om een query uit te voeren op:
- Meld u aan bij een app. Zie welke gebruikers zich hebben aangemeld bij een Databricks-app?
- Wijzigingen in apps toestaan of delen. Zie welke Databricks-apps zijn bijgewerkt om te wijzigen hoe de app wordt gedeeld met andere gebruikers of groepen?.
Wat zijn de kosten voor Databricks-apps?
Zie Compute for Apps voor informatie over de prijzen voor Databricks-apps.
De Databricks Apps-systeemomgeving
Notitie
Als u de omgeving voor een specifieke app, inclusief omgevingsvariabelen en geïnstalleerde pakketten, wilt weergeven, gaat u naar het tabblad Omgeving op de detailpagina voor de app. Zie De details van een Databricks-app weergeven.
Hier volgt een beschrijving van de systeemomgeving waarin uw apps worden uitgevoerd, resources die beschikbaar zijn voor uw app en versies van de geïnstalleerde toepassingen en bibliotheken.
- Besturingssysteem: Ubuntu 22.04 LTS
- Python: 3.11.0. Uw apps worden uitgevoerd in een virtuele Python-omgeving. Alle afhankelijkheden worden geïnstalleerd in deze virtuele omgeving, inclusief automatisch geïnstalleerde bibliotheken en bibliotheken die u bijvoorbeeld met een
requirements.txt
bestand installeert. - Systeembronnen: uw apps kunnen maximaal twee virtuele CPU's (vCPU' s) en 6 GB geheugen gebruiken. Uw app kan opnieuw worden gestart als deze de toegewezen resources overschrijdt.
Geïnstalleerde Python-bibliotheken
Bibliotheek | Versie |
---|---|
databricks-sql-connector | 3.4.0 |
databricks-sdk | 0.33.0 |
mlflow-skinny | 2.16.2 |
gradio | 4.44.0 |
streamlit | 1.38.0 |
glanzend | 1.1.0 |
scheutje | 2.18.1 |
veldfles | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[standaard] | 0.30.6 |
gunicorn | 23.0.0 |
dash-ag-grid | 31.2.0 |
dash-mantine-components | 0.14.4 |
dash-bootstrap-components | 1.6.0 |
plotly | 5.24.1 |
plotly-resampler | 0.10.0 |
Beperkingen
Er geldt een limiet van 10 apps in een Databricks-werkruimte.
Bestanden die door een app worden gebruikt, mogen niet groter zijn dan 10 MB. Als een bestand in de map van uw app deze limiet overschrijdt, mislukt de implementatie van de app met een fout.
Databricks-apps voldoen niet aan HIPAA-, PCI- of FedRAMP-nalevingsstandaarden.
Logboeken die door een app worden gemaakt, blijven niet behouden wanneer de Azure Databricks-rekenkracht die als host fungeert voor de app, wordt beëindigd. Zie Logboekregistratie vanuit uw Databricks-app.
Omdat ze OAuth niet ondersteunen, kunt u geen verouderde regionale URL's gebruiken met Databricks-apps.