Vad är Databricks-appar?
Viktigt!
Databricks Apps finns i offentlig förhandsversion.
Med Databricks Apps kan utvecklare skapa säkra data- och AI-program på Databricks-plattformen och dela dessa appar med användare.
Tidigare skapades data- och AI-program som använder data som hanteras av en Databricks-arbetsyta och dataanalysfunktionerna i Databricks-plattformen som krävs för att distribuera separat infrastruktur för att vara värd för program, säkerställa efterlevnad av datastyrningskontroller, hantera programsäkerhet, inklusive autentisering och auktorisering och så vidare. Med Databricks Apps är Databricks värd för dina appar, så du behöver inte konfigurera eller distribuera ytterligare infrastruktur.
Dina appar kan använda resurser och funktioner i Databricks-plattformen, inklusive Unity Catalog för styrning, Databricks SQL för att fråga efter data, AI-funktioner som modellservering, Databricks-jobb för ETL och de redan konfigurerade säkerhetsreglerna på arbetsytan, inklusive de regler som styr åtkomsten till de data som används av din app. Autentisering och auktorisering använder befintliga Azure Databricks-funktioner, inklusive OAuth och tjänstens huvudnamn.
Databricks har utformat Databricks-appar för utvecklare. Du utvecklar dina appar i Python med alla ramverk som Dash, Streamlit eller Gradio. Eftersom dina appar är portabla kan du skapa och felsöka dem lokalt, distribuera dem till en Databricks-arbetsyta och sedan flytta dem till en annan arbetsyta.
Krav
Krav för arbetsyta
Om du vill distribuera och köra appar på din Azure Databricks-arbetsyta måste arbetsytan uppfylla följande krav:
- Du måste se till att brandväggen inte blockerar domänen
*.databricksapps.com
. - Databricks-arbetsytan måste finnas i en region som stöds. Se serverlös funktionstillgänglighet.
Krav för utvecklingsmiljön
Om du vill skapa appar lokalt och distribuera dessa appar till din Azure Databricks-arbetsyta måste utvecklingsmiljön uppfylla följande krav:
Python 3.11 eller senare.
Databricks-kommandoradsgränssnittet (Databricks CLI), version v0.229.0 eller senare, konfigurerat för åtkomst till databricks-arbetsytan. Information om hur du installerar eller update och konfigurerar Databricks CLI finns i Installera eller update Databricks CLI- och -autentisering för Databricks CLI-.
Databricks SDK för Python. Du kan installera SDK med
pip3
:pip3 install databricks-sdk
(Valfritt) Om din app behöver åtkomst till Databricks SQL installerar du Databricks SQL Connector för Python. Du kan installera anslutningsappen med
pip3
:pip3 install databricks-sql-connector
Where utvecklar jag en Databricks-app?
Du kan skriva och testa appar i valfri IDE som stöder Python, till exempel PyCharm, IntelliJ IDEA eller Visual Studio Code. Databricks rekommenderar att du utvecklar dina appar med Hjälp av Visual Studio Code och Databricks-tillägget för Visual Studio Code, men du kan också använda Databricks notebook- och filredigeraren för att redigera koden direkt på Databricks-arbetsytan.
Hur gör jag för att utveckla och distribuera en Databricks-app?
För att utveckla en app lokalt är följande ett typiskt arbetsflöde:
- Utveckla din app i önskad IDE, till exempel Visual Studio Code.
- Kör appen lokalt på kommandoraden och visa den i webbläsaren.
- När koden har slutförts och testats flyttar du koden och de artefakter som krävs till Databricks-arbetsytan.
Se att Get startade med Databricks Apps.
Om du vill skapa en app i användargränssnittet eller använda ett fördefinierad exempel kan du läsa Hur gör jag för att skapa en app i Användargränssnittet för Databricks-appar?.
Kan jag använda Python-ramverk med min Databricks-app?
Du kan utveckla din app med hjälp av dina favoritramverk i Python, till exempel Dash, Streamlit eller Gradio. Du kan se exempel som använder populära Python-ramverk i Användargränssnittet för Databricks-appar. Se Hur gör jag för att skapa en app i Användargränssnittet för Databricks-appar?.
Hur hanterar Databricks Apps auktorisering?
Auktoriseringsmodellen databricks-appar innehåller användaren som kommer åt appen och ett azure Databricks-hanterat tjänsthuvudnamn som tilldelats appen:
För att få åtkomst till en app måste en användare ha CAN_USE eller CAN_MANAGE behörigheter för appen. Mer information om hur du tilldelar behörigheter till en app finns i Konfigurera behörigheter för din Databricks-app.
När en app skapas skapar Databricks Apps automatiskt ett huvudnamn för Azure Databricks-tjänsten och tilldelar tjänstens huvudnamn till appen. Denna tjänstehuvudman har endast åtkomst till den arbetsyta där appen skapas och används för att autentisera och auktorisera åtkomst till resurser i arbetsytan, såsom SQL-datalager, modellbetjäningens slutpunkter eller skyddade objekt i Unity Catalog. All åtkomst från en app till data eller andra arbetsyteresurser utförs för tjänstens huvudnamn, inte för appens ägare eller användare.
Databricks Apps ger automatiskt tjänstens huvudnamn behörighet till alla resurser som tilldelats appen om användaren som distribuerar appen har
CAN MANAGE
behörighet till dessa resurser. Om åtkomst av tjänstens huvudnamn till andra resurser krävs, till exempel tables eller arbetsytefiler, måste ett konto eller arbetsyteadministratör grant tjänstens huvudnamnsåtkomst till dessa resurser. När du beviljar åtkomst till resurser rekommenderar Databricks att du följer principen om lägsta behörighet och endast beviljar tjänstens huvudnamn de minsta behörigheter som krävs. Läs mer i Hantera tjänstens huvudnamn.Namnet på tjänstens huvudnamn finns på sidan med appinformation på kortet Appresurser . Tjänstens huvudnamn innehåller appnamnet, till exempel för en app med namnet
my-hello-world-app
, tjänstens huvudnamn ärapp-22ixod my-hello-world-app
.
Vem kan skapa Databricks-appar?
Alla användare på en arbetsyta kan skapa appar. Men för att hantera behörigheterna för tjänstens huvudnamn som tilldelats till en app måste du vara konto- eller arbetsyteadministratör.
Hur gör jag för att konfigurera min Databricks-app?
Databricks Apps anger automatiskt flera miljövariabler som appen kan komma åt, till exempel Databricks-värden som appen körs på. Du kan även set anpassa parameters med hjälp av en YAML-fil. Se Konfiguration av Databricks-appar.
Hur gör jag för att integrera min Databricks-app med Azure Databricks-tjänster?
Dina appar kan använda Databricks-plattformsfunktioner som Databricks SQL för att fråga efter data, Databricks-jobb för datainmatning och bearbetning, Mosaic AI Model Serving för att få åtkomst till generativa AI-modeller och Databricks-hemligheter för att hantera känslig information. När du konfigurerar din app kallas dessa Databricks-plattformsfunktioner för resurser.
Men eftersom appar är utformade för att vara portabla rekommenderar Databricks att appar inte är beroende av specifika resurser. Din app bör till exempel inte hårdkodas för att använda ett visst SQL-lager. Konfigurera i stället SQL-lagret i användargränssnittet för Databricks-appar när du skapar eller uppdaterar en app.
Eftersom appar har konfigurerats för att köras med minsta möjliga behörighet bör de inte skapa nya resurser. I stället måste de förlita sig på Databricks-plattformen för att lösa befintliga beroende tjänster. Varje app har tilldelats ett huvudnamn för Databricks-tjänsten. När appen skapas eller updatebeviljas tjänsthuvudmannen nödvändiga behörigheter för definierade resursberoenden.
Mer information om hur du lägger till Databricks-plattformsfunktioner som appresurser finns i Tilldela Databricks-plattformsfunktioner till en Databricks-app.
Where kan jag hitta granskningsloggar för mina Databricks-appar?
Om du vill hitta granskningshändelser för appar använder du Azure Databricks-systemet tables. Du kan använda systemet tables för att fråga:
- Inloggningar till en app. Se Vilka användare har loggat in på en Databricks-app?.
- Behörighets- eller delningsändringar i appar. Se Vilka Databricks-appar har uppdaterats för att ändra hur appen delas med andra användare eller grupper?.
Vad kostar Databricks-appar?
Information om priser för Databricks-appar finns i Beräkning för appar.
Databricks Apps-systemmiljön
Kommentar
Om du vill visa miljön för en specifik app, inklusive miljövariabler och installerade paket, går du till fliken Miljö på informationssidan för appen. Se Visa information för en Databricks-app.
Följande beskriver den systemmiljö som dina appar körs i, resurser som är tillgängliga för din app och versioner av installerade program och bibliotek.
- Operativsystem: Ubuntu 22.04 LTS
-
Python: 3.11.0. Dina appar körs i en virtuell Python-miljö. Alla beroenden installeras i den här virtuella miljön, inklusive automatiskt installerade bibliotek och bibliotek som du installerar, till exempel med en
requirements.txt
fil. - Systemresurser: Dina appar kan använda upp till två virtuella processorer (vCPU) och 6 GB minne. Din app kan startas om om den överskrider de allokerade resurserna.
Installerade Python-bibliotek
Bibliotek | Version |
---|---|
databricks-sql-connector | 3.4.0 |
databricks-sdk | 0.33.0 |
mlflow-skinny | 2.16.2 |
gradio | 4.44.0 |
streamlit | 1.38.0 |
skinande | 1.1.0 |
tankstreck | 2.18.1 |
flaska | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[standard] | 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 |
Begränsningar
Det finns en limit med 50 appar på en Databricks-arbetsyta.
Filer som används av en app får inte överstiga 10 MB i storlek. Om en fil i appens katalog överstiger denna limitmisslyckas appens distribution med ett fel.
Databricks Apps uppfyller inte HIPAA-, PCI- eller FedRAMP-efterlevnadsstandarder.
Loggar som skapats av en app sparas inte när Azure Databricks-beräkningen som är värd för appen avslutas. Se Loggning från din Databricks-app.
Eftersom de inte stöder OAuth kan du inte använda äldre regionala URL:er med Databricks-appar.