Was ist Databricks Apps?
Wichtig
Databricks-Apps befinden sich in der öffentlichen Vorschau.
Mit Databricks Apps können Entwickler sichere Daten und KI-Anwendungen auf der Databricks-Plattform erstellen und diese Apps für Benutzer freigeben.
Zuvor mussten Daten und KI-Anwendungen erstellt werden, die von einem Databricks-Arbeitsbereich verwaltete Daten und die Datenanalysefeatures der Databricks-Plattform verwenden, die separate Infrastruktur zum Hosten von Anwendungen bereitstellen, die Einhaltung von Datengovernance-Kontrollen sicherstellen, anwendungssicherheit verwalten, einschließlich Authentifizierung und Autorisierung usw. Mit Databricks-Apps hostet Databricks Ihre Apps, sodass Sie keine zusätzliche Infrastruktur konfigurieren oder bereitstellen müssen.
Ihre Apps können die Ressourcen und Features der Databricks-Plattform verwenden, einschließlich Unity-Katalog für Governance, Databricks SQL zum Abfragen von Daten, KI-Features wie Modellbereitstellung, Databricks Jobs für ETL und die bereits konfigurierten Sicherheitsregeln im Arbeitsbereich, einschließlich der Regeln, die den Zugriff auf die von Ihrer App verwendeten Daten steuern. Authentifizierung und Autorisierung verwenden vorhandene Azure Databricks-Funktionen, einschließlich OAuth und Dienstprinzipale.
Databricks hat Databricks-Apps für Entwickler entwickelt. Sie entwickeln Ihre Apps in Python mit jedem Framework wie Dash, Streamlit oder Gradio. Da Ihre Apps portabel sind, können Sie sie lokal erstellen und debuggen, sie in einem Databricks-Arbeitsbereich bereitstellen und dann in einen anderen Arbeitsbereich verschieben.
Anforderungen
Arbeitsbereichsanforderungen
Um Apps in Ihrem Azure Databricks-Arbeitsbereich bereitzustellen und auszuführen, muss der Arbeitsbereich die folgenden Anforderungen erfüllen:
- Sie müssen sicherstellen, dass Ihre Firewall die Domäne
*.databricksapps.com
nicht blockiert. - Ihr Databricks-Arbeitsbereich muss sich in einer unterstützten Region befinden. Siehe serverlose Featureverfügbarkeit..
Anforderungen an die Entwicklungsumgebung
Um Apps lokal zu erstellen und diese Apps in Ihrem Azure Databricks-Arbeitsbereich bereitzustellen, muss Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllen:
Python 3.11 oder höher.
Die Databricks-Befehlszeilenschnittstelle (Databricks CLI), Version v0.229.0 oder höher, für den Zugriff auf Ihren Databricks-Arbeitsbereich konfiguriert. Informationen zum Installieren oder Aktualisieren und Konfigurieren der Databricks CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI und Authentifizierung für databricks CLI.
Das Databricks SDK für Python. Sie können das SDK mit
pip3
:pip3 install databricks-sdk
Siehe Databricks SDK für Python.
(Optional) Wenn Ihre App auf Databricks SQL zugreifen muss, installieren Sie den Databricks SQL Connector für Python. Sie können den Connector mit
pip3
:pip3 install databricks-sql-connector
Wo entwickle ich eine Databricks-App?
Sie können Apps in einer beliebigen IDE schreiben und testen, die Python unterstützt, z. B. PyCharm, IntelliJ IDEA oder Visual Studio Code. Databricks empfiehlt die Entwicklung Ihrer Apps mit Visual Studio Code und der Databricks-Erweiterung für Visual Studio Code. Sie können aber auch das Databricks-Notizbuch und den Datei-Editor verwenden, um Ihren Code direkt in Ihrem Databricks-Arbeitsbereich zu bearbeiten.
Gewusst wie eine Databricks-App entwickeln und bereitstellen?
Um eine App lokal zu entwickeln, ist folgendes ein typischer Workflow:
- Entwickeln Sie Ihre App in Ihrer bevorzugten IDE, z. B. Visual Studio Code.
- Führen Sie Ihre App lokal an der Befehlszeile aus, und zeigen Sie sie in Ihrem Browser an.
- Wenn der Code abgeschlossen und getestet ist, verschieben Sie den Code und die erforderlichen Artefakte in Ihren Databricks-Arbeitsbereich.
Weitere Informationen finden Sie unter "Erste Schritte mit Databricks Apps".
Informationen zum Erstellen einer App auf der Benutzeroberfläche oder mithilfe eines vordefinierten Beispiels finden Sie unter Gewusst wie Erstellen einer App in der Benutzeroberfläche von Databricks Apps?.
Kann ich Python-Frameworks mit meiner Databricks-App verwenden?
Sie können Ihre App mit Ihren bevorzugten Python-Frameworks wie Dash, Streamlit oder Gradio entwickeln. Sie können Beispiele sehen, die beliebte Python-Frameworks in der Benutzeroberfläche von Databricks Apps verwenden. Lesen Sie Gewusst wie erstellen Sie eine App in der Benutzeroberfläche von Databricks Apps?.
Wie verwaltet Databricks Apps die Autorisierung?
Das Databricks-Apps-Autorisierungsmodell umfasst den Benutzer, der auf die App zugreift, und einen Azure Databricks-verwalteten Dienstprinzipal, der der App zugewiesen ist:
Um auf eine App zuzugreifen, muss ein Benutzer über CAN_USE oder CAN_MANAGE Berechtigungen für die App verfügen. Weitere Informationen zum Zuweisen von Berechtigungen zu einer App finden Sie unter Konfigurieren von Berechtigungen für Ihre Databricks-App.
Wenn eine App erstellt wird, erstellt Databricks Apps automatisch einen verwalteten Azure Databricks-Dienstprinzipal und weist diesen Dienstprinzipal der App zu. Dieser Dienstprinzipal hat nur Zugriff auf den Arbeitsbereich, in dem die App erstellt wird, und wird verwendet, um den Zugriff auf Ressourcen im Arbeitsbereich zu authentifizieren und zu autorisieren, z. B. SQL-Lagerhäuser, Modell, das Endpunkte bedient, oder sicherungsfähige Objekte im Unity-Katalog. Der gesamte Zugriff einer App auf Daten oder andere Arbeitsbereichsressourcen erfolgt im Namen des Dienstprinzipals, nicht des App-Besitzers oder Benutzers.
Databricks Apps gewährt dem Dienstprinzipal automatisch Berechtigungen für alle Ressourcen, die der App zugewiesen sind, wenn der Benutzer, der die App bereitstellt, über berechtigungen für diese Ressourcen verfügt
CAN MANAGE
. Wenn der Zugriff durch den Dienstprinzipal auf andere Ressourcen erforderlich ist, z. B. Tabellen oder Arbeitsbereichsdateien, muss ein Konto- oder Arbeitsbereichsadministrator dem Dienstprinzipal zugriff auf diese Ressourcen gewähren. Bei der Gewährung des Zugriffs auf Ressourcen empfiehlt Databricks, dem Prinzip der geringsten Berechtigungen zu folgen und dem Dienstprinzipal nur die minimal erforderlichen Berechtigungen zu gewähren. Siehe Verwalten von Dienstprinzipalen.Der Dienstprinzipalname finden Sie auf der App-Detailseite auf der App-Ressourcenkarte . Der Dienstprinzipal enthält den App-Namen, z. B. für eine App mit dem Namen
my-hello-world-app
,, der Dienstprinzipalname lautetapp-22ixod my-hello-world-app
.
Wer kann Databricks-Apps erstellen?
Jeder Benutzer in einem Arbeitsbereich kann Apps erstellen. Um jedoch die Berechtigungen des Dienstprinzipals zu verwalten, der einer App zugewiesen ist, müssen Sie ein Konto- oder Arbeitsbereichsadministrator sein.
Gewusst wie meine Databricks-App konfigurieren?
Databricks Apps legt automatisch mehrere Umgebungsvariablen fest, auf die Ihre App zugreifen kann, z. B. den Databricks-Host, auf den Ihre App ausgeführt wird. Sie können auch benutzerdefinierte Parameter mithilfe einer YAML-Datei festlegen. Siehe Databricks Apps-Konfiguration.
Gewusst wie meine Databricks-App in Azure Databricks-Dienste integrieren?
Ihre Apps können Databricks-Plattformfeatures wie Databricks SQL verwenden, um Daten abzufragen, Databricks Jobs für die Datenaufnahme und -verarbeitung, Mosaik AI Model Serving für den Zugriff auf generative KI-Modelle und Databricks Geheimschlüssel zum Verwalten vertraulicher Informationen. Beim Konfigurieren Ihrer App werden diese Databricks-Plattformfeatures als Ressourcen bezeichnet.
Da Apps jedoch als portierbar konzipiert sind, empfiehlt Databricks, dass Apps nicht von bestimmten Ressourcen abhängig sind. Ihre App sollte beispielsweise nicht hartcodiert sein, um ein bestimmtes SQL Warehouse zu verwenden. Konfigurieren Sie stattdessen das SQL-Warehouse in der Benutzeroberfläche von Databricks-Apps, wenn Sie eine App erstellen oder aktualisieren.
Da Apps außerdem so konfiguriert sind, dass sie mit den geringsten erforderlichen Berechtigungen ausgeführt werden, sollten sie keine neuen Ressourcen erstellen. Stattdessen müssen sie sich auf die Databricks-Plattform verlassen, um vorhandene abhängige Dienste aufzulösen. Jede App verfügt über einen Databricks-Dienstprinzipal. Beim Erstellen oder Aktualisieren der App erhält der Dienstprinzipal erforderliche Berechtigungen für definierte Ressourcenabhängigkeiten.
Weitere Informationen zum Hinzufügen von Databricks-Plattformfeatures als App-Ressourcen finden Sie unter Zuweisen von Databricks-Plattformfeatures zu einer Databricks-App.
Wo finde ich Überwachungsprotokolle für meine Databricks-Apps?
Verwenden Sie die Azure Databricks-Systemtabellen, um Überwachungsereignisse für Apps zu finden. Sie können die Systemtabellen verwenden, um Folgendes abzufragen:
- Anmeldet sich bei einer App. Sehen Sie sich an, welche Benutzer sich bei einer Databricks-App angemeldet haben?.
- Berechtigungs- oder Freigabeänderungen an Apps. Lesen Sie , welche Databricks-Apps aktualisiert wurden, um zu ändern, wie die App für andere Benutzer oder Gruppen freigegeben wird?.
Was kostet Databricks Apps?
Informationen zu den Preisen für Databricks-Apps finden Sie unter Compute for Apps.
Die Systemumgebung "Databricks Apps"
Hinweis
Um die Umgebung für eine bestimmte App anzuzeigen, einschließlich Umgebungsvariablen und installierter Pakete, wechseln Sie zur Registerkarte "Umgebung " auf der Detailseite für die App. Weitere Informationen zu einer Databricks-App finden Sie unter "Anzeigen der Details".
Im Folgenden wird die Systemumgebung beschrieben, in der Ihre Apps ausgeführt werden, Ressourcen, die für Ihre App verfügbar sind, und Versionen der installierten Anwendungen und Bibliotheken.
- Betriebssystem: Ubuntu 22.04 LTS
- Python: 3.11.0. Ihre Apps werden in einer virtuellen Python-Umgebung ausgeführt. Alle Abhängigkeiten werden in dieser virtuellen Umgebung installiert, einschließlich automatisch installierter Bibliotheken und aller Bibliotheken, die Sie installieren, z. B. mit einer
requirements.txt
Datei. - Systemressourcen: Ihre Apps können bis zu zwei virtuelle CPUs (vCPU) und 6 GB Arbeitsspeicher verwenden. Ihre App wird möglicherweise neu gestartet, wenn sie die zugeordneten Ressourcen überschreitet.
Installierte Python-Bibliotheken
Bibliothek | 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 |
shiny | 1.1.0 |
Gedankenstrich | 2.18.1 |
flask | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[Standard] | 0.30.6 |
gunicorn | 23.0.0 |
Strich-ag-Raster | 31.2.0 |
Strich-Mantin-Komponenten | 0.14.4 |
Strich-Bootstrap-Komponenten | 1.6.0 |
plotly | 5.24.1 |
Plotly-Resampler | 0.10.0 |
Begrenzungen
Es gibt eine Beschränkung von 10 Apps in einem Databricks-Arbeitsbereich.
Von einer App verwendete Dateien dürfen nicht mehr als 10 MB groß sein. Wenn eine Datei im Verzeichnis Ihrer App diesen Grenzwert überschreitet, schlägt die App-Bereitstellung mit einem Fehler fehl.
Databricks Apps erfüllen keine HIPAA-, PCI- oder FedRAMP-Compliancestandards.
Von einer App erstellte Protokolle werden nicht beibehalten, wenn die Azure Databricks das Hosten der App berechnen. Siehe Protokollierung von Ihrer Databricks-App.
Da sie OAuth nicht unterstützen, können Sie keine älteren regionalen URLs mit Databricks-Apps verwenden.