Microsoft Fabric veri işlem hattı genel REST API'si (Önizleme)
Önemli
Data Factory için Microsoft Fabric API şu anda genel önizleme aşamasındadır. Bu bilgiler, yayımlanmadan önce önemli ölçüde değiştirilebilen yayın öncesi bir ürünle ilgilidir. Microsoft, burada sağlanan bilgilerle ilgili olarak açık veya zımni hiçbir garanti vermez.
Microsoft Fabric'te Data Factory API'leri yalnızca işlem hatları ve veri akışları için CRUD işlemlerinden oluşur. Şu anda yalnızca veri işlem hatları desteklenmektedir. Veri akışları API'leri daha sonra yayımlanacaktır. Veri tümleştirme projelerinin diğer ortak alanları ayrı API'lerdir: zamanlamalar, izleme, bağlantılar, Doku'da kendi API'lerine sahiptir. Microsoft Fabric REST API'leri için birincil çevrimiçi başvuru belgeleri Microsoft Fabric REST API başvurularında bulunabilir. Ayrıca Çekirdek öğeler API'sine ve İş zamanlayıcısına da bakın.
Yetkilendirme belirteci alma
1. Seçenek: MSAL.Net kullanma
Doku API'si hızlı başlangıcı - Microsoft Fabric REST API'leri
Doku hizmeti için şu kapsamlara sahip bir Microsoft Entra ID belirteci almak için MSAL.Net kullanın: Workspace.ReadWrite.All, Item.ReadWrite.All. MSAL.Net ile belirteç alma hakkında daha fazla bilgi için bkz . Belirteç Alma - .NET için Microsoft Kimlik Doğrulama Kitaplığı.
Daha önce kopyaladığınız Uygulama (istemci) kimliğini yapıştırın ve ClientId değişkeni için yapıştırın.
2. Seçenek: Doku Portalını Kullanma
Test etmek istediğiniz Kiracı için Doku Portalı'nda oturum açın ve tarayıcının geliştirici moduna girmek için F12 tuşuna basın. Konsolda şunu çalıştırın:
powerBIAccessToken
Belirteci kopyalayın ve ClientId değişkeni için yapıştırın.
Base64 kodlanmış yük ile Öğe Tanımı
- JSON'unuzu kodlamak için Base64 Kodlama ve Kod Çözme'yi kullanın.
- URL güvenli kodlama gerçekleştir kutusunun işaretli olmadığından emin olun.
- doku kullanıcı arabirimindeki Görünüm -->JSON kodunu görüntüle sekmesi aracılığıyla işlem hattı tanımlarını alabilirsiniz.
{
"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"
}
}
Properties nesnesini alın ve bunları küme ayracı ( { } ) içine alarak REST Öğesi tanımı yükünün şu şekilde olmasını sağlayın:
{
"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"
}
}
Öğe oluştur
REST API - Öğeler - Öğe oluşturma
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Gövde:
{
"displayName": "pipeline_1",
"type": "DataPipeline"
}
Not
Belgelerde yalnızca 2 gerekli özellik olduğu belirtiliyor: displayName ve type. Şu anda Workload-DI, tanım olmadan oluşturmayı da desteklememektedir. Bu hatalı gereksinim için düzeltme şu anda dağıtılıyor. Şimdilik Doku kullanıcı arabirimi tarafından kullanılan varsayılan tanımın aynısını gönderebilirsiniz: ‘{"properties":{"activities":[]}}’
Tanım dahil olmak üzere değiştirilmiş JSON:
{
"displayName": "pipeline_1",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Yanıt 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "<Your WS Id>"
}
Öğeyi sil
REST API - Öğeler - Öğeyi silme
Örnek:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Yanıt 200: (Gövde yok)
Öğeyi al
Örnek:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Yanıt 200:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"workspaceId": "<your WS Id>"
}
Öğe tanımını alma
REST API - Öğeler - Öğe tanımını alma
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition
Yanıt 200:
{
"definition": {
"parts":[
{
"path": "pipeline-content.json",
"payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==",
"payloadType": "InlineBase64"
}
]
}
}
Liste öğeleri
REST API - Öğeler - Liste öğeleri
Örnek:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Yanıt 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"
}
]
}
Öğeyi güncelleştir
REST API - Öğeler - Öğeyi güncelleştirme
Örnek:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Gövde:
{
"displayName": "Pipeline_1_updated",
"description": "This is the description."
}
Yanıt 200:
{
"id": "<pipeline id>",
"type": "DataPipeline",
"displayName": "Pipeline_1_updated",
"description": "This is the description.",
"workspaceId": "<Your WS id>"
}
Öğe tanımını güncelleştirme
REST API - Öğeler - Öğe tanımını güncelleştirme
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition
Gövde:
{
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Yanıt 200: (Gövde yok)
İsteğe bağlı öğe işini çalıştırma
REST API - Öğeler - İsteğe bağlı öğe işini çalıştırma
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Yanıt 202: (Gövde yok)
İki parametre değerine sahip örnek:
Burada, bekleneceğiniz saniye sayısını belirtmek için param_waitsec adlı parametreye sahip bir Bekleme etkinliğimiz var.
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Gövde:
{
"executionData": {
"parameters": {
"param_waitsec": "10"
}
}
}
Yanıt 202: (Gövde yok)
Not
Şu anda döndürülen bir gövde yok, ancak iş kimliği döndürülmelidir. Önizleme sırasında, döndürülen üst bilgilerde ,'Konum' özelliğinde bulunabilir.
Öğe işi örneğini alma
REST API - Öğeler - Öğe iş örneğini alma
Örnek:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>
Yanıt 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"
}
Öğe işi örneğini iptal et
REST API - Öğeler - Öğe işi örneğini iptal etme
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel
Yanıt 202: (Gövde yok)
Not
bir işi iptal ettikten sonra, Öğe alma işi örneğini çağırarak veya Yapı kullanıcı arabirimindeki Çalıştırma geçmişini görüntüle'ye bakarak durumu de kontrol edebilirsiniz.
Sorgu etkinliği çalıştırmaları
Örnek:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<job id>/queryactivityruns
Gövde:
{
"filters":[],
"orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
"lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
"lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}
Not
"iş kimliği", İş Zamanlayıcı Genel API'lerinde oluşturulan ve kullanılan kimlikle aynıdır
Yanıt 200:
[
{
"pipelineName": "ca91f97e-5bdd-4fe1-b39a-1f134f26a701",
"pipelineRunId": "f2fa7a0e-586d-4d73-a2b4-7ddc785243ae",
"activityName": "Wait1",
"activityType": "Wait",
"activityRunId": "ef579d3d-d23e-477a-8150-d6e15d66a532",
"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/4DA86268-68B8-4B08-AD58-A7AEE54138CD/RESOURCEGROUPS/4DA86268-68B8-4B08-AD58-A7AEE54138CD/PROVIDERS/MICROSOFT.TRIDENT/WORKSPACES/4DA86268-68B8-4B08-AD58-A7AEE54138CD/pipelineruns/f2fa7a0e-586d-4d73-a2b4-7ddc785243ae/activityruns/ef579d3d-d23e-477a-8150-d6e15d66a532"
}
]
Bilinen sınırlamalar
- Hizmet Sorumlusu Kimlik Doğrulaması (SPN) şu anda desteklenmiyor.