Aracılığıyla paylaş


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

REST API - Öğeler - Öğe 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.