Compartilhar via


Gerenciar e executar notebooks no Fabric com APIs

A API REST do Microsoft Fabric fornece um ponto de extremidade de serviço para operações de criação, leitura, atualização e exclusão (CRUD) de um item do Fabric. Este artigo descreve as APIs REST de notebook disponíveis e o uso delas.

Importante

Esse recurso está em versão prévia.

Observação

Por enquanto, não há suporte para a autenticação de entidades de serviço.

Com as APIs de notebook, engenheiros de dados e cientistas de dados podem automatizar os próprios pipelines e estabelecer CI/CD de forma conveniente e eficiente. Essas APIs também facilitam o gerenciamento e a manipulação de itens de notebook do Fabric e integram os notebooks a outras ferramentas e sistemas.

Estas ações de Gerenciamento de item estão disponíveis para notebooks:

Ação Descrição
Criar item Cria um notebook em um workspace.
Atualizar item Atualiza os metadados de um notebook.
Atualiza a definição do item Atualiza o conteúdo de um notebook.
Excluir item Exclui um notebook.
Obter item Obtém os metadados de um notebook.
Obtém a definição do item Obtém o conteúdo de um notebook.
Item de lista Lista todos os itens em um workspace.

Para obter mais informações, confira Itens – API REST.

As seguintes ações do Agendador de trabalho estão disponíveis para notebooks:

Ação Descrição
Executar trabalho do item sob demanda Executar notebook com parametrização.
Cancelar instância de trabalho do item Cancelar execução do trabalho do notebook.
Obter instância de trabalho do item Obter status da execução do notebook.

Para obter mais informações, confira Agendador de trabalho.

Exemplos de uso da API REST do notebook

Use as instruções a seguir para testar exemplos de uso de APIs públicas específicas de notebook e verificar os resultados.

Observação

Esses cenários abrangem apenas exemplos de uso exclusivos de notebook. Exemplos comuns de API de item do Fabric não são abordados aqui.

Pré-requisitos

A API Rest do Fabric define um ponto de extremidade unificado para operações. Substitua os espaços reservados {WORKSPACE_ID} e {ARTIFACT_ID} por valores apropriados ao seguir os exemplos neste artigo.

Criar um notebook com uma definição

Crie um item de notebook com um arquivo .ipynb existente:

Solicitação

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

A carga na solicitação é uma cadeia de caracteres base64 convertida do notebook de exemplo a seguir.

{
    "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"
        },
        "trident": {
            "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"
            }
        }
    }
}

Observação

Você pode alterar o lakehouse padrão ou o ambiente anexado do notebook alterando metadata.trident.lakehouse ou metadata.trident.environment do conteúdo dele.

Obter um notebook com uma definição

Use a API a seguir para obter o conteúdo do notebook. O Fabric dá suporte à configuração do formato como .ipynb na cadeia de caracteres de consulta para obter um notebook .ipynb.

Solicitação

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

Response

Código de status: 200

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

Executar um notebook sob demanda

Agende a execução do notebook com a API a seguir. O trabalho do Spark começa a ser executado após uma solicitação bem-sucedida.

O Fabric dá suporte à passagem de parameters no corpo da solicitação para parametrizar a execução do notebook. Os valores são consumidos pela célula de parâmetro do notebook.

Você também pode usar configuration para personalizar a sessão do Spark da execução do notebook. configuration compartilha o mesmo contrato com o comando magic de configuração de sessão do Spark.

Solicitação

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"
            },
            "defaultLakehouse": {
                "name": "<lakehouse-name>",
                "id": "<lakehouse-id>",
                "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>"
            },
            "useStarterPool": false,
            "useWorkspacePool": "<workspace-pool-name>"
        }
    }
}

Response

Código de status: 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

Com location, você pode usar Obter instância de trabalho do item para exibir o status do trabalho ou usar Cancelar instância de trabalho do item para cancelar a execução atual do notebook.