Bagikan melalui


Mengelola dan menjalankan notebook di Fabric dengan API

Microsoft Fabric REST API menyediakan titik akhir layanan untuk operasi buat, baca, perbarui, dan hapus (CRUD) item Fabric. Artikel ini menjelaskan REST API notebook yang tersedia dan penggunaannya.

Penting

Fitur ini dalam pratinjau.

Dengan API notebook, teknisi data dan ilmuwan data dapat mengotomatiskan alur mereka sendiri dan membangun CI/CD dengan mudah dan efisien. API ini juga memudahkan pengguna untuk mengelola dan memanipulasi item notebook Fabric, dan mengintegrasikan notebook dengan alat dan sistem lain.

Tindakan manajemen Item ini tersedia untuk buku catatan:

Tindakan Deskripsi
Buat item Membuat buku catatan di dalam ruang kerja.
Perbarui item Memperbarui metadata buku catatan.
Memperbarui definisi item Memperbarui konten buku catatan.
Hapus item Menghapus buku catatan.
Dapatkan item Mendapatkan metadata buku catatan.
Mendapatkan definisi item Mendapatkan konten buku catatan.
Item daftar Mencantumkan semua item di ruang kerja.

Untuk informasi selengkapnya, lihat Item - REST API.

Tindakan Penjadwal pekerjaan berikut ini tersedia untuk buku catatan:

Tindakan Deskripsi
Jalankan Pekerjaan Item sesuai permintaan Jalankan notebook dengan parameterisasi.
Batalkan Instans Pekerjaan Item Batalkan eksekusi pekerjaan buku catatan.
Dapatkan Instans Pekerjaan Item Dapatkan status eksekusi buku catatan.

Untuk informasi selengkapnya, lihat Penjadwal Pekerjaan.

Catatan

Autentikasi perwakilan layanan tersedia untuk Notebook CRUD API dan Job Scheduler API, yang berarti Anda dapat menggunakan perwakilan layanan untuk melakukan operasi CRUD, memicu atau membatalkan eksekusi notebook, serta mendapatkan status eksekusi. Anda perlu menambahkan perwakilan layanan ke ruang kerja dengan peran yang sesuai.

Contoh penggunaan REST API Notebook

Gunakan instruksi berikut untuk menguji contoh penggunaan untuk API publik notebook tertentu dan verifikasi hasilnya.

Catatan

Skenario ini hanya mencakup contoh penggunaan unik notebook. Contoh API umum item Fabric tidak tercakup di sini.

Prasyarat

Fabric Rest API mendefinisikan titik akhir terpadu untuk operasi. Ganti tempat penampung {WORKSPACE_ID} dan {ARTIFACT_ID} dengan nilai yang sesuai saat Anda mengikuti contoh dalam artikel ini.

Membuat buku catatan dengan definisi

Buat item buku catatan dengan file .ipynb yang sudah ada dan jenis file sumber lainnya.

Permintaan

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

Payload dalam permintaan adalah string base64 yang dikonversi dari contoh notebook berikut.

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

Catatan

Anda bisa mengubah buku catatan default lakehouse atau lingkungan terlampir dengan mengubah konten metadata.trident.lakehouse buku catatan atau metadata.trident.environment.

Mendapatkan buku catatan dengan definisi

Gunakan API berikut untuk mendapatkan konten buku catatan. Fabric mendukung Anda mengatur format sebagai .ipynb dalam string kueri untuk mendapatkan notebook .ipynb.

Permintaan

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

Respons

Kode Status: 200

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

Menjalankan notebook sesuai permintaan

Jadwalkan eksekusi notebook Anda dengan API berikut. Pekerjaan Spark mulai dijalankan setelah permintaan berhasil.

Fabric mendukung passing parameters dalam isi permintaan untuk membuat parameter eksekusi notebook. Nilai dikonsumsi oleh sel parameter notebook.

Anda juga dapat menggunakan configuration untuk mempersonalisasi sesi Spark dari eksekusi buku catatan. configuration berbagi kontrak yang sama dengan perintah magic konfigurasi sesi Spark.

Permintaan

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

Respons

Kode Status: 202

Location: https://api.fabric.microsoft.com/v1/workspaces/aaaabbbb-0000-cccc-1111-dddd2222eeee/items/bbbbcccc-1111-dddd-2222-eeee3333ffff/jobs/instances/ccccdddd-2222-eeee-3333-ffff4444aaaa
Retry-After: 60

Dengan location, Anda dapat menggunakan Dapatkan Instans Pekerjaan Item untuk melihat status pekerjaan atau menggunakan Batalkan Instans Pekerjaan Item untuk membatalkan eksekusi buku catatan saat ini.