Del via


Administrer og udfør notesbøger i Fabric med API'er

Microsoft Fabric REST API indeholder et tjenesteslutpunkt for oprettelse, læsning, opdatering og sletning (CRUD) af et Fabric-element. I denne artikel beskrives de tilgængelige REST API'er for notesbogen og deres brug.

Vigtigt

Denne funktion er en prøveversion.

Bemærk

Godkendelse af tjenesteprincipal er tilgængelig for CRUD-API til notesbog. Det understøttes ikke for kørsel af notesbog-API'en i øjeblikket.

Med notebook-API'erne kan datateknikere og dataspecialister automatisere deres egne pipelines og nemt og effektivt etablere CI/CD. Disse API'er gør det også nemt for brugerne at administrere og manipulere Fabric-notesbogelementer og integrere notesbøger med andre værktøjer og systemer.

Disse handlinger til administration af elementer er tilgængelige for notesbøger:

Handling Beskrivelse
Opret element Opretter en notesbog i et arbejdsområde.
Opdater element Opdaterer metadataene for en notesbog.
Opdater elementdefinition Opdaterer indholdet af en notesbog.
Slet element Sletter en notesbog.
Hent element Henter metadataene for en notesbog.
Hent elementdefinition Henter indholdet af en notesbog.
Listeelement Vis alle elementer i et arbejdsområde.

Du kan få flere oplysninger under Elementer – REST API.

Følgende jobstyringshandlinger er tilgængelige for notesbøger:

Handling Beskrivelse
Kør varejob efter behov Kør notesbog med parameterisering.
Annuller forekomst af elementjob Annuller kørsel af notesbogjobbet.
Hent elementjobforekomst Få status for kørsel af notesbog.

Du kan få flere oplysninger under Jobstyring.

Eksempler på brug af REST API til notesbog

Brug følgende instruktioner til at teste brugseksempler for bestemte offentlige API'er til notesbøger og bekræfte resultaterne.

Bemærk

Disse scenarier dækker kun eksempler på brug af notesbøger. Almindelige API-eksempler for stofelement er ikke dækket her.

Forudsætninger

Fabric Rest API definerer et samlet slutpunkt for handlinger. Erstat pladsholderne {WORKSPACE_ID} og {ARTIFACT_ID} med de relevante værdier, når du følger eksemplerne i denne artikel.

Opret en notesbog med en definition

Opret et notesbogelement med en eksisterende .ipynb-fil og andre typer kildefiler.

Request

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"
            }
        ]
    }
}

Nyttedataene i anmodningen er en base64-streng, der er konverteret fra følgende eksempelnotesbog.

{
    "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"
            }
        }
    }
}

Bemærk

Du kan ændre notesbogens standard lakehouse eller det tilknyttede miljø ved at ændre notesbogens indhold metadata.trident.lakehouse eller metadata.trident.environment.

Hent en notesbog med en definition

Brug følgende API til at hente notesbogindholdet. Fabric understøtter, at du angiver formatet som .ipynb i forespørgselsstrengen for at hente en .ipynb-notesbog.

Request

POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items/{{ARTIFACT_ID}}/GetDefinition?format=ipynb

Response

Statuskode: 200

{
    "definition": {
        "parts": [
            {
                "path": "notebook-content.ipynb",
                "payload": "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJjb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
                "payloadType": "InlineBase64"
            }
        ]
    }
}

Kør en notesbog efter behov

Planlæg kørsel af notesbogen med følgende API. Spark-jobbet starter udførelsen efter en vellykket anmodning.

Fabric understøtter overførsel parameters af anmodningens brødtekst for at parameterisere kørslen af notesbogen. Værdierne forbruges af notesbogparametercellen.

Du kan også bruge configuration til at tilpasse Spark-sessionen for kørsel af notesbog. configurationdeler den samme kontrakt med den magiske kommando til konfiguration af Spark-sessionen.

Request

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

Statuskode: 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 bruge Hent elementjobforekomst til at få vist jobstatus eller bruge Annuller forekomst af elementjob til at annullere den aktuelle kørsel af notesbogen.