Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:✅ Datenengineering und Datenwissenschaft in Microsoft Fabric
Erstellen Sie zum Einstieg mit der Livy-API für Fabric Data Engineering zunächst ein Lakehouse. Authentifizieren Sie sich mit einem Microsoft Entra-Token, entdecken Sie den Livy-API-Endpunkt, übermitteln Sie Batch- oder Sitzungsaufträge von einem Remoteclient an Fabric Spark-Compute und überwachen Sie die Ergebnisse.
Von Bedeutung
Dieses Feature befindet sich in der Vorschauphase.
Voraussetzungen
Fabric Premium- oder Testkapazität mit einem LakeHouse
Aktivieren der Mandantenadministratoreinstellung für die Livy-API (Vorschau)
Ein Remoteclient wie Visual Studio Code mit Jupyter Notebook-Unterstützung, PySpark und Microsoft Authentication Library (MSAL) für Python
Entweder ein Microsoft Entra-App-Token. Registrieren einer Anwendung bei Microsoft Identity Platform
Oder ein Microsoft Entra SPN-Token. Hinzufügen und Verwalten von Anwendungsanmeldeinformationen in der Microsoft Entra-ID
Auswählen eines REST-API-Clients
Sie können verschiedene Programmiersprachen oder Clients mit Benutzeroberflächen verwenden, um mit REST-API-Endpunkten zu interagieren. In diesem Artikel verwenden wir Visual Studio Code-. Visual Studio Code muss mit Jupyter Notebook, PySparkund der Microsoft Authentication Library (MSAL) für Python konfiguriert werden.
So autorisieren Sie die Livy-API-Anforderungen mit einem Entra SPN-Token
Um mit Fabric-APIs einschließlich der Livy-API zu arbeiten, müssen Sie zuerst eine Microsoft Entra-Anwendung erstellen und einen geheimen Schlüssel erstellen und diesen geheimen Schlüssel in Ihrem Code verwenden. Ihre Anwendung muss registriert und entsprechend konfiguriert werden, um API-Aufrufe für Fabric auszuführen. Weitere Informationen finden Sie unter Hinzufügen und Verwalten von Anwendungsanmeldeinformationen in der Microsoft Entra-ID
Erstellen Sie nach dem Erstellen der App-Registrierung einen geheimen Clientschlüssel.
Achten Sie beim Erstellen des geheimen Clientschlüssels darauf, den Wert zu kopieren. Sie benötigen dies später im Code, und der geheime Schlüssel kann nicht mehr angezeigt werden. Zusätzlich zum geheimen Schlüssel in Ihrem Code benötigen Sie außerdem die Anwendungs-ID (Client-ID) und das Verzeichnis (Mandanten-ID).
Als Nächstes müssen wir das Client-Geheimnis zu unserem Arbeitsbereich hinzufügen.
Suchen Sie nach dem geheimen Entra-Clientschlüssel, und fügen Sie diesen geheimen Schlüssel dem Arbeitsbereich hinzu, und stellen Sie sicher, dass der neu hinzugefügte geheime Schlüssel über Administratorberechtigungen verfügt.
So autorisieren Sie die Livy-API-Anforderungen mit einem Entra-App-Token
Für die Verwendung von Fabric-APIs (einschließlich der Livy-API) müssen Sie zunächst eine Microsoft Entra-Anwendung erstellen und ein Token abrufen. Ihre Anwendung muss registriert und entsprechend konfiguriert werden, um API-Aufrufe für Fabric auszuführen. Weitere Informationen finden Sie unter Registrieren einer Anwendung bei Microsoft Identity Platform.
Für das Ausführen von Livy-Aufträgen sind zahlreiche Microsoft Entra-Bereichsbeschränkungen erforderlich. In diesem Beispiel wird einfacher Spark-Code + Speicherzugriff + SQL verwendet:
Code.AccessAzureDataExplorer.All
Code.AccessAzureDataLake.All
Code.AccessAzureKeyvault.All
Code.AccessFabric.All
Code.AccessStorage.All
Item.ReadWrite.All
Lakehouse.Execute.All
Arbeitsbereich.ReadWrite.All
Hinweis
Während der öffentlichen Vorschau ändern sich diese Bereiche möglicherweise, wenn wir einige genauere Bereiche hinzufügen. Wenn diese Bereichsänderungen vorgenommen werden, kann Ihre Livy-App ausfallen. Überprüfen Sie diese Liste, da sie mit den zusätzlichen Bereichen aktualisiert wird.
Einige Kunden benötigen differenziertere Berechtigungen als in der obigen Liste. Sie können „Item.ReadWrite.All“ entfernen und durch diese differenzierteren Berechtigungen im Geltungsbereich ersetzen:
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Lakehouse.Execute.All
- Lakehouse.ReadWrite.All
- Arbeitsbereich.ReadWrite.All
- Notebook.ReadWrite.All
- SparkJobDefinition.ReadWrite.All
- MLModel.ReadWrite.All
- MLExperiment.ReadWrite.All
- Dataset.ReadWrite.All
Wenn Sie Ihre Anwendung registrieren, benötigen Sie sowohl die Anwendungs-ID (Client-ID) als auch die Verzeichnis-ID (Mandant).
Der authentifizierte Benutzende, der die Livy-API aufruft, muss Mitglied des Arbeitsbereichs sein, in dem sich sowohl die API- als auch die Datenquellenelemente befinden, und über die Rolle „Mitwirkender“ verfügen. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Arbeitsbereiche für Benutzer.
Ermitteln des Fabric Livy-API-Endpunkts
Für den Zugriff auf den Livy-Endpunkt ist ein Lakehouse-Artefakt erforderlich. Nachdem das Lakehouse erstellt wurde, finden Sie den Livy-API-Endpunkt im Einstellungsbereich.
Der Endpunkt der Livy-API weist folgendes Muster auf:
https://api.fabric.microsoft.com/v1/workspaces/ <ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
An die URL wird je nach Ihrer Auswahl entweder <sessions> oder <batches> angefügt.
Laden Sie die Dateien der Livy-API Swagger herunter.
Die vollständigen Swagger-Dateien für die Livy-API sind hier verfügbar.
Übermitteln von Livy-API-Aufträgen
Nachdem die Einrichtung der Livy-API abgeschlossen ist, können Sie entweder Batch- oder Sitzungsaufträge übermitteln.
Integration in Fabric-Umgebungen
Diese Livy-API-Sitzung wird standardmäßig für den Standardstartpool für den Arbeitsbereich ausgeführt. Alternativ können Sie Fabric-Umgebungen zum Erstellen, Konfigurieren und Verwenden einer Umgebung in Microsoft Fabric verwenden, um den Spark-Pool anzupassen, den die Livy-API-Sitzung für diese Spark-Aufträge verwendet.
Um eine Fabric-Umgebung in einer Livy Spark-Sitzung zu verwenden, aktualisieren Sie einfach die JSON so, dass sie diese Nutzlast enthält.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Um eine Fabric-Umgebung in einer Livy Spark-Batchsitzung zu verwenden, aktualisieren Sie einfach die JSON-Nutzlast wie unten dargestellt.
payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py",
"conf": {
"spark.targetLakehouse": "Fabric_LakehouseID",
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}" # remove this line to use starter pools instead of an environment, replace "EnvironmentID" with your environment ID
}
}
Überwachen des Anforderungsverlaufs
Sie können den Überwachungshub verwenden, um frühere Livy-API-Übermittlungen anzuzeigen und mögliche Übermittlungsfehler zu debuggen.
Zugehöriger Inhalt
- Apache Livy-REST-API-Dokumentation
- Erste Schritte mit Administratoreinstellungen für Ihre Fabric-Kapazität
- Verwaltungseinstellungen für Apache Spark-Arbeitsbereiche in Microsoft Fabric
- Registrieren einer Anwendung bei Microsoft Identity Platform
- Übersicht über die Microsoft Entra-Berechtigungen und die Einwilligung
- Geltungsbereiche für die Fabric-REST-API
- Übersicht zur Apache Spark-Überwachung
- Apache Spark-Anwendungsdetails