Aracılığıyla paylaş


API'lerle Doku'da not defterlerini yönetme ve yürütme

Microsoft Fabric REST API'sinde bir Doku öğesinin oluşturma, okuma, güncelleştirme ve silme (CRUD) işlemleri için bir hizmet uç noktası sağlanır. Bu makalede, kullanılabilir not defteri REST API'leri ve bunların kullanımı açıklanmaktadır.

Önemli

Bu özellik önizleme aşamasındadır.

Not defteri API'leri sayesinde veri mühendisleri ve veri bilimcileri kendi işlem hatlarını otomatikleştirebilir ve ci/CD'yi rahatça ve verimli bir şekilde kurabilir. Bu API'ler, kullanıcıların Doku not defteri öğelerini yönetmesini ve yönetmesini ve not defterlerini diğer araçlar ve sistemlerle tümleştirmesini de kolaylaştırır.

Bu Öğe yönetimi eylemleri not defterleri için kullanılabilir:

Eylem Açıklama
Öğe oluştur Çalışma alanı içinde bir not defteri oluşturur.
Öğeyi güncelleştir Not defterinin meta verilerini güncelleştirir.
Öğe tanımını güncelleştirme Not defterinin içeriğini güncelleştirir.
Öğeyi sil Not defterini siler.
Öğeyi al Not defterinin meta verilerini alır.
Öğe tanımını alma Not defterinin içeriğini alır.
Liste öğesi Çalışma alanı içindeki tüm öğeleri listeleme.

Daha fazla bilgi için bkz . Öğeler - REST API.

Not defterleri için aşağıdaki İş zamanlayıcı eylemleri kullanılabilir:

Eylem Açıklama
İsteğe Bağlı Öğe İşi Çalıştırma Parametreleştirme ile not defterini çalıştırın.
Öğe İş Örneğini İptal Et Not defteri işi çalıştırmayı iptal etme.
Öğe İş Örneğini Al Not defteri çalıştırma durumunu alma.

Daha fazla bilgi için bkz . İş Zamanlayıcı.

Not

Hizmet sorumlusu kimlik doğrulaması Not Defteri CRUD API'sinde ve İş zamanlayıcı API'sinde kullanılabilir; bu da CRUD işlemlerini gerçekleştirmek ve not defteri çalıştırmalarını tetikleyip/iptal etmek için hizmet sorumlusunu kullanabileceğiniz ve çalıştırma durumunu alabileceğiniz anlamına gelir. Çalışma alanına uygun bir rolle hizmet yetkilisini eklemeniz gerekiyor.

Not defteri REST API kullanımı örnekleri

Belirli not defteri genel API'leri için kullanım örneklerini test etmek ve sonuçları doğrulamak için aşağıdaki yönergeleri kullanın.

Not

Bu senaryolar yalnızca not defterine özgü kullanım örneklerini kapsar. Doku öğesi yaygın API örnekleri burada ele alınmamıştır.

Önkoşullar

Doku Rest API'si işlemler için birleşik bir uç nokta tanımlar. Bu makaledeki örnekleri izlediğinizde yer tutucuları {WORKSPACE_ID} ve {ARTIFACT_ID} değerlerini uygun değerlerle değiştirin.

Tanımı olan bir not defteri oluşturma

Var olan bir .ipynb dosyası ve diğer kaynak dosya türleriyle bir not defteri öğesi oluşturun.

İste

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

İstekteki yük, aşağıdaki örnek not defterinden dönüştürülen bir base64 dizesidir.

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

Not

Veya not defteri içeriğini metadata.trident.lakehousemetadata.trident.environmentdeğiştirerek not defteri varsayılan göl evi veya ekli ortamı değiştirebilirsiniz.

Tanımı olan bir not defteri alma

Not defteri içeriğini almak için aşağıdaki API'yi kullanın. Doku, .ipynb not defteri almak için sorgu dizesinde biçimi .ipynb olarak ayarlamanızı destekler.

İste

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

Response

Durum kodu: 200

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

İsteğe bağlı olarak not defteri çalıştırma

Not defteri çalıştırmanızı aşağıdaki API ile zamanlayın. Spark işi başarılı bir istek sonrasında yürütülmeye başlar.

Doku, not defteri çalıştırmasını parametreleştirmek için istek gövdesinde geçirmeyi parameters destekler. Değerler not defteri parametre hücresi tarafından tüketilir.

Ayrıca, not defteri çalıştırmasının Spark oturumunu kişiselleştirmek için de kullanabilirsiniz configuration . configurationSpark oturumu yapılandırma sihirli komutuyla aynı sözleşmeyi paylaşır.

İste

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

Durum kodu: 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

ilelocation, iş durumunu görüntülemek için Öğe İş Örneğini Al'ı veya geçerli not defteri çalıştırmasını iptal etmek için Öğe İş Örneğini İptal Et'i kullanabilirsiniz.