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.

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