Gérer et exécuter des notebooks dans Fabric avec des API

L’API REST Microsoft Fabric fournit un point de terminaison de service pour les opérations de création, de lecture, de mise à jour et de suppression d’un élément Fabric. Cet article décrit les API REST de notebook disponibles et leur utilisation.

Important

Cette fonctionnalité est en version préliminaire.

Remarque

L’authentification du principal de service est disponible pour l’API CURD Notebook. Il n’est pas pris en charge pour l’exécution de l’API notebook pour le moment.

Avec les API de notebook, les ingénieurs de données et les scientifiques des données peuvent automatiser leurs propres pipelines et établir efficacement CI/CD. Ces API facilitent également la gestion et la manipulation des éléments de notebook Fabric par les utilisateurs, et l’intégration de notebooks à d’autres outils et systèmes.

Ces actions de gestion des éléments sont disponibles pour les notebooks :

Action Description
Créer un élément Crée un notebook à l’intérieur d’un espace de travail.
Update item (Mettre à jour un élément) Met à jour les métadonnées d’un notebook.
Mettre à jour la définition d’élément Met à jour le contenu d’un notebook.
Supprimer l’élément Supprime un notebook.
Obtenir un élément Obtient les métadonnées d’un notebook.
Obtenir la définition d’un élément Obtient le contenu d’un notebook.
Élément de liste Répertorie tous les éléments d’un espace de travail.

Pour plus d’informations, consultez Éléments - API REST.

Les actions de planificateur de tâches suivantes sont disponibles pour les notebooks :

Action Description
Exécuter la tâche d’élément à la demande Exécuter le notebook avec le paramétrage.
Annuler l’instance de tâche d’élément Annuler l’exécution de la tâche du notebook.
Obtenir l’instance de la tâche d’élément Obtenir l’état de l’exécution du notebook.

Pour plus d’informations, consultez Planificateur de tâches.

Exemples d’utilisation de l’API REST du notebook

Utilisez les instructions suivantes pour tester des exemples d’utilisation pour des API publiques de notebook spécifiques et vérifier leurs résultats.

Remarque

Ces scénarios couvrent uniquement les exemples d’utilisation uniques des notebooks. Les exemples d’API courantes des éléments de structure ne sont pas abordés ici.

Prérequis

L’API Rest Fabric définit un point de terminaison unifié pour les opérations. Remplacez les valeurs temporaires {WORKSPACE_ID} et {ARTIFACT_ID} par les valeurs appropriées lorsque vous suivez les exemples de cet article.

Créer un notebook avec une définition

Créez un élément de notebook avec un fichier .ipynb existant :

Requête

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

La charge utile dans la requête est une chaîne base64 convertie à partir de l’exemple de notebook suivant.

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

Remarque

Vous pouvez modifier le notebook par défaut lakehouse ou l’environnement attaché en modifiant le contenu metadata.trident.lakehouse ou metadata.trident.environment du notebook.

Obtenir un notebook avec une définition

Utilisez l’API suivante pour obtenir le contenu du notebook. Fabric prend en charge la définition du format .ipynb dans la chaîne de requête pour obtenir un notebook .ipynb.

Requête

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

Response

Code d’état : 200

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

Exécuter un notebook à la demande

Planifiez l’exécution de votre notebook avec l’API suivante. La tâche Spark commence à s’exécuter après une demande réussie.

Fabric prend en charge la transmission parameters dans le corps de la demande pour paramétrer l’exécution du notebook. Les valeurs sont consommées par la cellule de paramètre de notebook.

Vous pouvez également utiliser configuration pour personnaliser la session Spark d’exécution du notebook. configuration partage le même contrat avec la commande magic de configuration de session Spark.

Requête

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

Code d’état : 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

Avec location, vous pouvez utiliser Obtenir l’instance de tâche d’élément pour afficher l’état de la tâche ou annuler l’instance de tâche d’élément pour annuler l’exécution en cours du notebook.