Hantera och köra notebook-filer i Infrastruktur med API:er
Rest-API:et för Microsoft Fabric tillhandahåller en tjänstslutpunkt för crud-åtgärder (create, read, update och delete) för ett fabric-objekt. I den här artikeln beskrivs tillgängliga REST-API:er för notebook-filer och deras användning.
Viktigt!
Den här funktionen är i förhandsversion.
Kommentar
Autentisering med tjänstens huvudnamn stöds inte för tillfället.
Med notebook-API:er kan datatekniker och dataforskare automatisera sina egna pipelines och enkelt och effektivt etablera CI/CD. Dessa API:er gör det också enkelt för användare att hantera och manipulera notebook-objekt i Fabric och integrera notebook-filer med andra verktyg och system.
Dessa objekthanteringsåtgärder är tillgängliga för notebook-filer:
Åtgärd | beskrivning |
---|---|
Skapa objekt | Skapar en notebook-fil i en arbetsyta. |
Uppdatera objekt | Uppdateringar metadata för en notebook-fil. |
Uppdatera objektdefinition | Uppdateringar innehållet i en notebook-fil. |
Ta bort objekt | Tar bort en notebook-fil. |
Hämta objekt | Hämtar metadata för en notebook-fil. |
Hämta objektdefinition | Hämtar innehållet i en notebook-fil. |
Listobjekt | Visa en lista över alla objekt på en arbetsyta. |
Mer information finns i Objekt – REST API.
Följande jobbschemaläggningsåtgärder är tillgängliga för notebook-filer:
Åtgärd | beskrivning |
---|---|
Köra objektjobb på begäran | Kör notebook-filen med parameterisering. |
Avbryt objektjobbinstans | Avbryt körning av notebook-jobb. |
Hämta objektjobbinstans | Hämta status för notebook-körning. |
Mer information finns i Jobbschemaläggare.
Användningsexempel för NOTEBOOK REST API
Använd följande instruktioner för att testa användningsexempel för specifika offentliga API:er för notebook-filer och verifiera resultatet.
Kommentar
Dessa scenarier omfattar endast notebook-unika användningsexempel. Vanliga API-exempel för infrastrukturobjekt beskrivs inte här.
Förutsättningar
Rest-API:et för infrastrukturresurser definierar en enhetlig slutpunkt för åtgärder. Ersätt platshållarna {WORKSPACE_ID}
och {ARTIFACT_ID}
med lämpliga värden när du följer exemplen i den här artikeln.
Skapa en notebook-fil med en definition
Skapa ett notebook-objekt med en befintlig .ipynb-fil:
Begär
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items
{
"displayName":"Notebook1",
"type":"Notebook",
"definition" : {
"format": "ipynb",
"parts": [
{
"path": "artifact.content.ipynb",
"payload": "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJjb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}
Nyttolasten i begäran är en base64-sträng som konverteras från följande exempelanteckningsbok.
{
"nbformat": 4,
"nbformat_minor": 5,
"cells": [
{
"cell_type": "code",
"source": [
"# Welcome to your new notebook\n# Type here in the cell editor to add code!\n"
],
"execution_count": null,
"outputs": [],
"metadata": {}
}
],
"metadata": {
"language_info": {
"name": "python"
},
"dependencies": {
"environment": {
"environmentId": "6524967a-18dc-44ae-86d1-0ec903e7ca05",
"workspaceId": "c31eddd2-26e6-4aa3-9abb-c223d3017004"
},
"lakehouse": {
"default_lakehouse": "5b7cb89a-81fa-4d8f-87c9-3c5b30083bee",
"default_lakehouse_name": "lakehouse_name",
"default_lakehouse_workspace_id": "c31eddd2-26e6-4aa3-9abb-c223d3017004"
}
}
}
}
Kommentar
Du kan ändra standardmiljön för notebook-filens lakehouse eller anslutna miljö genom att ändra notebook-innehåll metadata.trident.lakehouse
eller metadata.trident.environment
.
Hämta en notebook-fil med en definition
Använd följande API för att hämta notebook-innehållet. Fabric har stöd för att ange formatet som .ipynb i frågesträngen för att hämta en .ipynb-notebook-fil.
Begär
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items/{{ARTIFACT_ID}}/GetDefinition?format=ipynb
Response
Statuskod: 200
{
"definition": {
"parts": [
{
"path": "notebook-content.ipynb",
"payload": "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJjb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}
Köra en notebook-fil på begäran
Schemalägg notebook-körningen med följande API. Spark-jobbet börjar köras efter en lyckad begäran.
Fabric har stöd för att skicka parameters
in begärandetexten för att parameterisera notebook-körningen. Värdena används av notebook-parametercellen.
Du kan också använda configuration
för att anpassa Spark-sessionen för notebook-körning. configuration
delar samma kontrakt med spark-sessionskonfigurationens magiska kommando.
Begär
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items/{{ARTIFACT_ID}}/jobs/instances?jobType=RunNotebook
{
"executionData": {
"parameters": {
"parameterName": {
"value": "new value",
"type": "string"
}
},
"configuration": {
"conf": {
"spark.conf1": "value"
},
"environment": {
"id": "<environment_id>",
"name": "<environment_name>"
},
"defaultLakehouse": {
"name": "<lakehouse-name>",
"id": "<lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>"
},
"useStarterPool": false,
"useWorkspacePool": "<workspace-pool-name>"
}
}
}
Response
Statuskod: 202
Location: https://api.fabric.microsoft.com/v1/workspaces/4b218778-e7a5-4d73-8187-f10824047715/items/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/jobs/instances/f2d65699-dd22-4889-980c-15226deb0e1b
Retry-After: 60
Med location
kan du använda Hämta objektjobbinstans för att visa jobbstatus eller använda Avbryt objektjobbinstans för att avbryta den aktuella notebook-körningen.