Zdieľať cez


Verejné rozhranie REST API pre údajový kanál služby Microsoft Fabric (Preview)

Dôležité

Rozhranie API služby Microsoft Fabric pre službu Data Factory Create/Read/Update/Delete (CRUD) je momentálne vo verzii Preview. Tieto informácie sa týkajú predbežnej verzie produktu, ktorá môže byť pred jeho vydaním podstatne upravená. Spoločnosť Microsoft neposkytuje žiadne záruky, vyjadrené alebo implicitné, na tu uvedené informácie.

V službe Microsoft Fabric pozostávajú rozhrania API služby Data Factory výlučne z operácií CRUD pre kanály a toky údajov. V súčasnosti sú podporované iba údajové kanály. Rozhrania API tokov údajov budú vydané neskôr. Ďalšie bežné oblasti pre projekty integrácie údajov sú v samostatných rozhraniach API: plány, monitorovanie, pripojenia, majú vlastné rozhrania API v službe Fabric. Primárnu online referenčnú dokumentáciu pre rozhrania Microsoft Fabric REST API nájdete v odkazoch na rozhranie Microsoft Fabric REST API. Pozrite si tiež rozhranie API základných položiek a plánovač úloh.

Získanie overeného tokenu

Možnosť 1: Použitie MSAL.Net

Stručný úvod k rozhraniu API služby Fabric – Rozhrania Microsoft Fabric REST API

Použite MSAL.Net na získanie tokenu ID microsoft Entra pre službu Fabric s nasledujúcimi rozsahmi: Workspace.ReadWrite.All, Item.ReadWrite.All. Ďalšie informácie o akvizícii tokenu pomocou MSAL.Net do nájdete v téme Získanie tokenu – knižnica overenia spoločnosti Microsoft pre rozhranie .NET.

Prilepte ID aplikácie (klienta), ktoré ste predtým skopírovali, a prilepte ho do premennej ClientId.

Možnosť 2: Používanie portálu fabric

Prihláste sa na portál služby Fabric pre nájomníka, na ktorý chcete otestovať, a stlačením klávesu F12 prejdite do režimu vývojára v prehliadači. V konzole spustite:

powerBIAccessToken

Skopírujte token a prilepte ho do premennej ClientId.

Definícia položky s kódovanú údajovou časťou base64

  • Použite kódovanie Base64 a Dekódovanie na kódovanie JSON.
  • Skontrolujte, či nie je začiarknuté políčko Vykonať bezpečné kódovanie URL adresy.
  • Definície kanála môžete získať prostredníctvom karty kódu Zobraziť -> Zobraziť JSON v používateľskom rozhraní služby 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" 
    } 
}

Vezmite objekt vlastnosti a obklopte ich zátvorkami – { } , takže údajová časť definície položky REST bude:

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

Vytvoriť položku

ROZHRANIE REST API – položky – Vytvoriť položku

Príklad:

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

Telo:

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

Poznámka

V dokumentácii sú uvedené iba 2 požadované vlastnosti – displayName a type. V súčasnosti funkcia Workload-DI nepodporuje vytváranie aj bez definície . V súčasnosti sa nasadzuje oprava tejto chybnej požiadavky. Teraz môžete odoslať rovnakú predvolenú definíciu, ktorú používa používateľské rozhranie služby Fabric: ‘{"properties":{"activities":[]}}’

Upravený kód JSON vrátane definície:

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

Odpoveď 201:

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

Odstrániť položku

ROZHRANIE REST API – položky – Odstránenie položky

Príklad:

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

Odpoveď 200: (Žiadne telo)

Získať položku

ROZHRANIE REST API – položky – Získať položku

Príklad:

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

Odpoveď 200:

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

Načítanie definície položky

ROZHRANIE REST API – položky – definícia získať položku

Príklad:

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

Odpoveď 200:

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

Položky zoznamu

ROZHRANIE REST API – položky – položky zoznamu

Príklad:

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

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

Aktualizovať položku

ROZHRANIE REST API – položky – aktualizovať položku

Príklad:

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

Telo:

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

Odpoveď 200:

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

Aktualizácia definície položky

ROZHRANIE REST API – položky – aktualizovať definíciu položky

Príklad:

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

Telo:

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

Odpoveď 200: (Žiadne telo)

Spustenie úlohy položky na požiadanie

ROZHRANIE REST API – položky – spustenie úlohy položky na požiadanie

Príklad:

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

Odpoveď 202: (Žiadne telo)

Príklad s dvomi hodnotami parametrov:

Tu máme aktivitu Čakať s parametrom s názvom param_waitsec na určenie počtu sekúnd čakania.

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

Telo:

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

Odpoveď 202: (Žiadne telo)

Poznámka

V súčasnosti sa nevráti žiadne telo, ale malo by sa vrátiť ID úlohy. Počas používania ukážky ju nájdete vo vrátených hlavičkách vo vlastnosti Location.

Získanie inštancie úlohy položky

Rozhranie REST API – položky – inštancia úlohy získať položku

Príklad:

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

Odpoveď 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" 
} 

Zrušenie inštancie úlohy položky

Rozhranie REST API – položky – zrušenie inštancie úlohy položky

Príklad:

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

Odpoveď 202: (Žiadne telo)

Poznámka

Po zrušení úlohy môžete skontrolovať stav volaním inštancie úlohy Získať položku alebo zobrazením histórie spúšťania v používateľskom rozhraní služby Fabric.

Známe obmedzenia

  • Overovanie objektu služby (SPN) v súčasnosti nie je podporované