Dela via


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 locationkan 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.