Bagikan melalui


REST API publik alur data Microsoft Fabric (Pratinjau)

Penting

Microsoft Fabric API untuk Data Factory Create/Read/Update/Delete (CRUD) saat ini dalam pratinjau. Informasi ini berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis. Microsoft tidak memberikan jaminan, tersurat maupun tersirat, sehubungan dengan informasi yang diberikan di sini.

Di Microsoft Fabric, API Data Factory hanya terdiri dari operasi CRUD untuk alur dan aliran data. Saat ini, hanya alur data yang didukung. API Aliran Data akan dirilis nanti. Area umum lainnya untuk proyek integrasi data berada dalam API terpisah: jadwal, pemantauan, koneksi, memiliki API mereka sendiri di Fabric. Dokumentasi referensi online utama untuk MICROSOFT Fabric REST API dapat ditemukan di referensi Microsoft Fabric REST API. Lihat juga API item Inti dan Penjadwal pekerjaan.

Mendapatkan token otorisasi

Opsi 1: Menggunakan MSAL.Net

Mulai cepat Fabric API - MICROSOFT Fabric REST API

Gunakan MSAL.Net untuk memperoleh token ID Microsoft Entra untuk layanan Fabric dengan cakupan berikut: Workspace.ReadWrite.All, Item.ReadWrite.All. Untuk informasi selengkapnya tentang akuisisi token dengan MSAL.Net, lihat Akuisisi Token - Microsoft Authentication Library untuk .NET.

Tempelkan ID Aplikasi (klien) yang Anda salin sebelumnya dan tempelkan untuk variabel ClientId.

Opsi 2: Menggunakan Portal Fabric

Masuk ke Portal Fabric untuk Penyewa yang ingin Anda uji, dan tekan F12 untuk memasuki mode pengembang browser. Di konsol di sana, jalankan:

powerBIAccessToken

Salin token dan tempelkan untuk variabel ClientId.

Definisi Item dengan payload base64 dikodekan

  • Gunakan Encode Base64 dan Dekode untuk mengodekan JSON Anda.
  • Pastikan bahwa kotak Lakukan pengodean aman URL tidak dicentang.
  • Anda bisa mendapatkan definisi alur melalui tab Lihat -->Lihat kode JSON di antarmuka pengguna Fabric.
{ 
    "name": "Pipeline_1_updated", 
    "objectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "properties": { 
        "description": "this is the description", 
        "activities": [ 
            { 
                "name": "Wait1", 
                "type": "Wait", 
                "dependsOn": [], 
                "typeProperties": { 
                    "waitTimeInSeconds": 240 
                } 
            } 
        ], 
        "annotations": [], 
        "lastModifiedByObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
        "lastPublishTime": "2024-02-01T17:28:02Z" 
    } 
}

Ambil objek properti dan kelilingi dalam kurung kurawal - { } - sehingga payload definisi ITEM REST adalah:

{
    "properties": { 
        "description": "this is the description", 
        "activities": [ 
            { 
                "name": "Wait1", 
                "type": "Wait", 
                "dependsOn": [], 
                "typeProperties": { 
                    "waitTimeInSeconds": 240 
                } 
            } 
        ], 
        "annotations": [], 
        "lastModifiedByObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
        "lastPublishTime": "2024-02-01T17:28:02Z" 
    } 
} 

Buat item

REST API - Item - Buat item

Contoh:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items

Badan:

{ 
  "displayName": "pipeline_1", 
  "type": "DataPipeline" 
} 

Catatan

Dokumentasi menyatakan bahwa hanya ada 2 properti yang diperlukan - displayName dan jenis. Saat ini, Workload-DI tidak mendukung pembuatan tanpa definisi juga. Perbaikan untuk persyaratan yang salah ini saat ini sedang disebarkan. Untuk saat ini, Anda dapat mengirim definisi default yang sama yang digunakan oleh antarmuka pengguna Fabric: ‘{"properties":{"activities":[]}}’

JSON yang dimodifikasi termasuk definisi:

{ 
  "displayName": "pipeline_1", 
  "type": "DataPipeline", 
  "definition": { 
    "parts": [ 
      { 
        "path": "pipeline-content.json", 
        "payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
} 

Respons 201:

{ 
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1", 
    "description": "", 
    "workspaceId": "<Your WS Id>" 
} 

Hapus item

REST API - Item - Hapus item

Contoh:

DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Respons 200: (Tidak ada isi)

Dapatkan item

REST API - Item - Dapatkan item

Contoh:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Respons 200:

{ 
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1", 
    "workspaceId": "<your WS Id>" 
} 

Mendapatkan definisi item

REST API - Item - Dapatkan definisi item

Contoh:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition

Respons 200:

{ 
    "definition": { 
        "parts":[ 
            { 
                "path": "pipeline-content.json", 
                "payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==", 
                "payloadType": "InlineBase64" 
            } 
        ] 
    } 
} 

Cantumkan item

REST API - Item - Daftar item

Contoh:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items

Respons 200:

{ 
    "value": [ 
        { 
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
            "type": "SemanticModel", 
            "displayName": "deata_lh", 
            "description": "", 
            "workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
        }, 
        { 
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
            "type": "SQLEndpoint", 
            "displayName": "deata_lh", 
            "description": "", 
            "workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
        }, 
        { 
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
            "type": "Lakehouse", 
            "displayName": "deata_lh", 
            "description": "", 
            "workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
        }, 
        { 
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
            "type": "DataPipeline", 
            "displayName": "Pipeline_1", 
            "description": "", 
            "workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
        } 
    ] 
} 

Perbarui item

REST API - Item - Perbarui item

Contoh:

PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Badan:

{ 
  "displayName": "Pipeline_1_updated", 
  "description": "This is the description." 
}

Respons 200:

{ 
    "id": "<pipeline id>", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1_updated", 
    "description": "This is the description.", 
    "workspaceId": "<Your WS id>" 
}

Memperbarui definisi item

REST API - Item - Memperbarui definisi item

Contoh:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition

Badan:

{ 
  "definition": { 
    "parts": [ 
      { 
        "path": "pipeline-content.json", 
        "payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
}

Respons 200: (Tidak ada isi)

Menjalankan pekerjaan item sesuai permintaan

REST API - Item - Menjalankan pekerjaan item sesuai permintaan

Contoh:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline

Respons 202: (Tidak ada isi)

Contoh dengan dua nilai parameter:

Di sini kita memiliki aktivitas Tunggu dengan parameter bernama param_waitsec untuk menentukan jumlah detik yang akan ditunda.

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline

Badan:

{ 
  "executionData": { 
    "parameters": {
      "param_waitsec": "10" 
    } 
  } 
}

Respons 202: (Tidak ada isi)

Catatan

Saat ini tidak ada isi yang dikembalikan, tetapi ID pekerjaan harus dikembalikan. Selama pratinjau, pratinjau dapat ditemukan di header yang dikembalikan, di properti 'Lokasi'.

Mendapatkan instans pekerjaan item

REST API - Item - Dapatkan instans pekerjaan item

Contoh:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>dotnetcli

Respons 200:

{ 
    "id": "4511ffcd-a9f6-4f75-91a9-9ceab08d7539", 
    "itemId": "2bb9fe4a-0a84-4725-a01f-7ac4e6850259", 
    "jobType": "Pipeline", 
    "invokeType": "Manual", 
    "status": "Completed", 
    "failureReason": null, 
    "rootActivityId": "f14bdd95-2cff-4451-b839-bea81509126d", 
    "startTimeUtc": "2024-02-01T03:03:19.8361605", 
    "endTimeUtc": "2024-02-01T03:05:00.3433333" 
} 

Membatalkan instans pekerjaan item

REST API - Item - Membatalkan instans pekerjaan item

Contoh:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel

Respons 202: (Tidak ada isi)

Catatan

Setelah membatalkan pekerjaan, Anda dapat memeriksa status baik dengan memanggil Dapatkan instans pekerjaan item atau melihat Lihat riwayat eksekusi di antarmuka pengguna Fabric.

Pembatasan yang diketahui

  • Service Principal Auth (SPN) saat ini tidak didukung