REST API publik alur data Microsoft Fabric (Pratinjau)
Penting
Microsoft Fabric API untuk Data Factory saat ini dalam pratinjau publik. 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 belum tersedia. 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.
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
Contoh - CreateDataPipeline:
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
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
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 seharusnya diberikan. Selama 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>
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.
Aktivitas kueri berjalan
Contoh:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<Job ID>/queryactivityruns
Badan:
{
"filters":[],
"orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
"lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
"lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}
Catatan
"id pekerjaan" adalah id yang sama yang dibuat dan digunakan dalam API Publik Penjadwal Pekerjaan
Respons 200:
[
{
"pipelineName": "ca91f97e-5bdd-4fe1-b39a-1f134f26a701",
"pipelineRunId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"activityName": "Wait1",
"activityType": "Wait",
"activityRunId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"linkedServiceName": "",
"status": "Succeeded",
"activityRunStart": "2024-05-23T13:43:03.6397566Z",
"activityRunEnd": "2024-05-23T13:43:31.3906179Z",
"durationInMs": 27750,
"input": {
"waitTimeInSeconds": 27
},
"output": {},
"error": {
"errorCode": "",
"message": "",
"failureType": "",
"target": "Wait1",
"details": ""
},
"retryAttempt": null,
"iterationHash": "",
"userProperties": {},
"recoveryStatus": "None",
"integrationRuntimeNames": null,
"executionDetails": null,
"id": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/PROVIDERS/MICROSOFT.TRIDENT/WORKSPACES/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/pipelineruns/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/activityruns/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a"
}
]
Pembatasan yang diketahui
- Service Principal Auth (SPN) saat ini tidak didukung.