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.
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 | Uppdaterar metadata för en notebook-fil. |
Uppdatera objektdefinition | Uppdaterar 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.
Kommentar
Autentisering med tjänstens huvudnamn är tillgängligt för NOTEBOOK CRUD API och JOB SCHEDULER API, vilket innebär att du kan använda tjänstens huvudnamn för att utföra CRUD-åtgärder och utlösa/avbryta notebook-körningar och hämta körningsstatusen. Du måste lägga till tjänstens huvudnamn på arbetsytan med rätt roll.
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 och en annan typ av källfiler.
Begär
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items
{
"displayName":"Notebook1",
"type":"Notebook",
"definition" : {
"format": "ipynb", // Use "fabricGitSource" for source file format.
"parts": [
{
"path": "notebook-content.ipynb", // fabric source file format, .py, .scala, .sql files are supported.
"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.