Delen via


Notebooks beheren en uitvoeren in Fabric met API's

De MICROSOFT Fabric REST API biedt een service-eindpunt voor de CRUD-bewerkingen (Create, Read, Update en Delete) van een Fabric-item. In dit artikel worden de beschikbare REST API's voor notebooks en het bijbehorende gebruik beschreven.

Belangrijk

Deze functie is beschikbaar als preview-versie.

Met de notebook-API's kunnen data engineers en gegevenswetenschappers hun eigen pijplijnen automatiseren en efficiƫnt en efficiƫnt CI/CD opzetten. Met deze API's kunnen gebruikers ook eenvoudig notebookitems van Fabric beheren en bewerken en notebooks integreren met andere hulpprogramma's en systemen.

Deze itembeheeracties zijn beschikbaar voor notebooks:

Actie Beschrijving
Item maken Hiermee maakt u een notitieblok in een werkruimte.
Item bijwerken Hiermee worden de metagegevens van een notebook bijgewerkt.
Itemdefinitie bijwerken Hiermee werkt u de inhoud van een notitieblok bij.
Item verwijderen Hiermee verwijdert u een notitieblok.
Item ophalen Haalt de metagegevens van een notebook op.
Itemdefinitie ophalen Hiermee haalt u de inhoud van een notitieblok op.
Lijstitem Alle items in een werkruimte weergeven.

Zie Items - REST API voor meer informatie.

De volgende taakplanneracties zijn beschikbaar voor notebooks:

Actie Beschrijving
Taak voor item op aanvraag uitvoeren Notebook uitvoeren met parameterisatie.
Itemtaakexemplaren annuleren Uitvoering van notebooktaak annuleren.
Itemtaakexemplaren ophalen De uitvoeringsstatus van het notebook ophalen.

Zie Job Scheduler voor meer informatie.

Notitie

Verificatie van de service-principal is beschikbaar voor notebook CRUD-API en jobplanner-API, wat betekent dat u de service-principal kunt gebruiken om de CRUD-bewerkingen uit te voeren en notebookuitvoeringen te activeren/annuleren en de uitvoeringsstatus op te halen. Je moet de service-principal toevoegen aan de werkruimte met de juiste rol.

Voorbeelden van REST API-gebruik voor notebooks

Gebruik de volgende instructies om gebruiksvoorbeelden voor specifieke openbare notebook-API's te testen en de resultaten te controleren.

Notitie

Deze scenario's hebben alleen betrekking op notebook-unieke gebruiksvoorbeelden. Veelvoorkomende API-voorbeelden van fabric-items worden hier niet behandeld.

Vereisten

De Fabric Rest API definieert een uniform eindpunt voor bewerkingen. Vervang de tijdelijke aanduidingen {WORKSPACE_ID} en {ARTIFACT_ID} door de juiste waarden wanneer u de voorbeelden in dit artikel volgt.

Een notebook maken met een definitie

Maak een notitieblokitem met een bestaand IPynb-bestand en ander type bronbestanden.

Aanvragen

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

De nettolading in de aanvraag is een base64-tekenreeks die is geconverteerd vanuit het volgende voorbeeldnotebook.

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

Notitie

U kunt de standaard lakehouse van het notitieblok of de gekoppelde omgeving wijzigen door de inhoud van het notitieblok te wijzigen of metadata.trident.lakehousedoor de inhoud metadata.trident.environment van het notitieblok te wijzigen.

Een notitieblok ophalen met een definitie

Gebruik de volgende API om de inhoud van het notebook op te halen. Fabric ondersteunt u het instellen van de indeling als .ipynb in de querytekenreeks om een .ipynb-notebook op te halen.

Aanvragen

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

Response

Statuscode: 200

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

Een notebook op aanvraag uitvoeren

Plan de uitvoering van uw notebook met de volgende API. De Spark-taak wordt uitgevoerd na een geslaagde aanvraag.

Fabric biedt ondersteuning voor het doorgeven parameters van de aanvraagbody om de uitvoering van het notebook te parameteriseren. De waarden worden gebruikt door de notebookparametercel.

U kunt ook de configuration Spark-sessie van notebook aan uw persoonlijke voorkeur aanpassen. configurationdeelt hetzelfde contract met de magic-opdracht voor spark-sessieconfiguratie.

Aanvragen

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

Statuscode: 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

Met location, kunt u itemtaakexemplaren ophalen gebruiken om de taakstatus weer te geven of het exemplaar van de taak Annuleren gebruiken om de huidige notebookuitvoering te annuleren.