Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Gælder for:✅ Fabric Data Engineering og Data Science
Kom i gang med Livy API for Fabric Data Engineering ved at oprette et Lakehouse; autentificering med et Microsoft Entra-token; opdage Livy API-endpointet; indsende enten batch- eller sessionsjobs fra en fjernklient til Fabric Spark compute; og overvåge resultaterne.
Forudsætninger
Stofkapacitet med et søhus
En fjernklient som Visual Studio Code med Jupyter-notebookunderstøttelse, PySpark og Microsoft Authentication Library (MSAL) til Python
Enten en Microsoft Entra app-token. Registrer et program ved hjælp af Microsoft-identitetsplatform
Eller et Microsoft Entra SPN-token. Tilføj og administrer ansøgningsoplysninger i Microsoft Entra ID
Valg af en REST API-klient
Du kan bruge forskellige programmeringssprog eller GUI-klienter til at interagere med REST API-slutpunkter. I denne artikel bruger vi Visual Studio Code. Visual Studio Code skal konfigureres med Jupyter Notebooks, PySpark og Microsoft Authentication Library (MSAL) til Python
Sådan autoriserer du Livy API-anmodningerne
For at bruge Livy API'en skal du autentificere dine anmodninger med Microsoft Entra ID. Der findes to autorisationsmetoder:
Entra SPN Token (Service Principal): Applikationen autentificerer sig selv ved hjælp af legitimationsoplysninger som en klienthemmelighed eller certifikat. Denne metode er velegnet til automatiserede processer og baggrundstjenester, hvor der ikke kræves brugerinteraktion.
Entra app-token (Delegeret): Applikationen handler på vegne af en indlogget bruger. Denne metode er egnet, når du ønsker, at applikationen skal tilgå ressourcer med tilladelserne fra den autentificerede bruger.
Vælg den autorisationsmetode, der passer bedst til din situation, og følg det tilsvarende afsnit nedenfor.
Sådan godkender du Livy API-anmodninger med et Entra SPN-token
For at arbejde med Fabric API'er, inklusive Livy API'en, skal du først oprette en Microsoft Entra-applikation og oprette en hemmelighed og bruge den hemmelighed i din kode. Dit program skal registreres og konfigureres korrekt for at kunne udføre API-kald mod Fabric. For mere information, se Tilføj og administrer ansøgningsoplysninger i Microsoft Entra ID
Når du har oprettet appregistreringen, skal du oprette en klienthemmelighed.
Når du opretter klienthemmeligheden, skal du sørge for at kopiere værdien. Du skal bruge dette senere i koden, og hemmeligheden kan ikke ses igen. Du skal også bruge program-id'et (klient) og mappen (lejer-id) ud over hemmeligheden i din kode.
Dernæst tilføjer du serviceprincippet til dit arbejdsområde.
Søg efter Entra-applikationen ved at bruge applikations-ID (klient) ID eller navn, tilføj den til arbejdsområdet, og sørg for, at serviceprincipalen har bidragyderrettigheder.
Sådan godkender du Livy API-anmodninger med et Entra-apptoken
For at arbejde med Fabric API'er, inklusive Livy API'en, skal du først oprette en Microsoft Entra-applikation og skaffe et token. Dit program skal registreres og konfigureres korrekt for at kunne udføre API-kald mod Fabric. Du kan få flere oplysninger under Registrer et program med Microsoft-identitetsplatform.
Der kræves mange Microsoft Entra scope-tilladelser for at udføre Livy-jobs. I dette eksempel bruges simpel Spark-kode + lageradgang + SQL:
Code.AccessAzureDataExplorer.All
Code.AccessAzureDataLake.All
Code.AccessAzureKeyvault.All
Code.AccessFabric.All
Code.AccessStorage.All
Item.ReadWrite.All
Lakehouse.Execute.All
Workspace.ReadWrite.All
Bemærk
Under offentlig prøveversion kan disse områder blive ændret, når vi tilføjer nogle flere detaljerede områder. Når disse områdeændringer sker, kan din Livy-app gå i stykker. Kontrollér denne liste, da den opdateres med de ekstra områder.
Nogle kunder ønsker mere detaljerede tilladelser end den tidligere liste. Du kan fjerne Item.ReadWrite.All og erstatte med disse mere detaljerede områdetilladelser:
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Lakehouse.Execute.All
- Lakehouse.ReadWrite.All
- Workspace.ReadWrite.All
- Notebook.ReadWrite.All
- SparkJobDefinition.ReadWrite.All
- MLModel.ReadWrite.All
- MLExperiment.ReadWrite.All
- Dataset.ReadWrite.All
Når du registrerer dit program, skal du både bruge program-id'et (klient)-id'et og mappe-id'et (lejeren).
Den godkendte bruger, der kalder Livy-API'en, skal være medlem af arbejdsområdet, hvor både API- og datakildeelementer er placeret med rollen Bidragyder. Du kan få flere oplysninger under Giv brugere adgang til arbejdsområder.
Sådan finder du Fabric Livy API-slutpunktet
Der kræves en Lakehouse-artefakt for at få adgang til Livy-slutpunktet. Når Lakehouse er oprettet, kan Livy API-slutpunktet placeres i indstillingspanelet.
Slutpunktet for Livy-API'en følger dette mønster:
https://api.fabric.microsoft.com/v1/workspaces/><ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
URL-adressen tilføjes med enten <sessioner> eller <batches> , afhængigt af hvad du vælger.
Download Livy API Swagger-filerne
De fulde swagger-filer til Livy-API'en er tilgængelige her.
Send et Livy API-job
Nu, hvor konfigurationen af Livy-API'en er fuldført, kan du vælge at sende enten batch- eller sessionsjob.
Integration med Fabric-miljøer
Denne Livy API-session kører som standard i forhold til standardstartgruppen for arbejdsområdet. Alternativt kan du bruge Fabric Environments Create, configur og brug et miljø i Microsoft Fabric til at tilpasse Spark-poolen, som Livy API-sessionen bruger til disse Spark-jobs.
Hvis du vil bruge et Fabric-miljø i en Livy Spark-session, skal du blot opdatere json'en for at inkludere denne nyttedata.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Hvis du vil bruge et Fabric-miljø i en Livy Spark-batchsession, skal du blot opdatere json-nyttedataene som vist nedenfor.
payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py",
"conf": {
"spark.targetLakehouse": "Fabric_LakehouseID",
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}" # Replace "EnvironmentID" with your environment ID, or remove this line to use starter pools instead of an environment
}
}
Sådan overvåger du anmodningsoversigten
Du kan bruge Overvågningshub til at se dine tidligere Livy API-indsendelser og foretage fejlfinding af eventuelle indsendelsesfejl.
Relateret indhold
- Apache Livy REST API-dokumentation
- Kom i gang med administratorindstillingerne for din Fabric Capacity
- Apache Spark workspace administrationsindstillinger i Microsoft Fabric
- Registrer et program ved hjælp af Microsoft-identitetsplatform
- Microsoft Entra oversigt over tilladelse og samtykke
- Struktur-REST API-områder
- Oversigt over overvågning af Apache Spark
- Oplysninger om Apache Spark-program