Veřejné rozhraní REST API datového kanálu Microsoft Fabric (Preview)
Důležité
Rozhraní API Microsoft Fabric pro službu Data Factory je aktuálně ve verzi Public Preview. Tyto informace se týkají předběžné verze produktu, který může být podstatně změněn před vydáním. Společnost Microsoft neposkytuje žádné záruky, vyjádřené ani předpokládané, pokud jde o informace uvedené zde.
V Microsoft Fabric se rozhraní API služby Data Factory skládají výhradně z operací CRUD pro kanály a toky dat. V současné době se podporují jenom datové kanály. Rozhraní API toků dat budou vydána později. Další běžné oblasti pro projekty integrace dat jsou v samostatných rozhraních API: plány, monitorování, připojení a vlastní rozhraní API v prostředcích infrastruktury. Primární online referenční dokumentace k rozhraním REST API Microsoft Fabric najdete v referenčních materiálech k rozhraní REST API Microsoft Fabric. Projděte si také rozhraní API základních položek a plánovač úloh.
Připojení veřejných rozhraní API
Nyní jsou k dispozici veřejná rozhraní API pro připojení. Tato rozhraní API umožňují bezproblémovou integraci a přístup k různým veřejným zdrojům dat v rámci datových kanálů.
Získání autorizačního tokenu
Možnost 1: Použití MSAL.Net
Rychlý start k rozhraní FABRIC API – Rozhraní REST API Microsoft Fabric
Pomocí MSAL.Net získejte token ID Microsoft Entra pro službu Fabric s následujícími obory: Workspace.ReadWrite.All, Item.ReadWrite.All. Další informace o získávání tokenů pomocí MSAL.Net naleznete v tématu Získání tokenu – Microsoft Authentication Library pro .NET.
Vložte ID aplikace (klienta), které jste zkopírovali dříve, a vložte ho pro proměnnou ClientId.
Možnost 2: Použití portálu Fabric
Přihlaste se k portálu Fabric pro tenanta, kterého chcete otestovat, a stisknutím klávesy F12 přejděte do vývojářského režimu prohlížeče. V konzole spusťte:
powerBIAccessToken
Zkopírujte token a vložte ho pro proměnnou ClientId.
Definice položky s kódováním base64 datové části
- K kódování JSON použijte kódování a dekódování Base64.
- Ujistěte se, že není zaškrtnuté políčko Provést bezpečné kódování adresy URL.
- Definice kanálu můžete získat prostřednictvím karty Zobrazit -->View JSON v uživatelském rozhraní 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"
}
}
Vezměte objekt vlastností a obklopte je do složených závorek – { } – proto by datová část definice položky REST byla:
{
"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"
}
}
Vytvořit položku
REST API – Položky – Vytvoření položky
Příklad 1 – CreateDataPipeline:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Text:
{
"displayName": "pipeline_1",
"type": "DataPipeline"
}
Poznámka:
Dokumentace uvádí, že existují pouze 2 požadované vlastnosti – displayName a typ. V současné době úloha-DI nepodporuje vytváření bez definice . Oprava tohoto chybného požadavku se právě nasazuje. Prozatím můžete odeslat stejnou výchozí definici, kterou používá uživatelské rozhraní Fabric: ‘{"properties":{"activities":[]}}’
Upravený JSON včetně definice:
{
"displayName": "pipeline_1",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Odpověď 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "<Your WS Id>"
}
Příklad 2 – Vytvoření mountedDataFactory
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Text:
Datová část:
{"DataFactoryResourceId":"/subscriptions/<ADF subscription Id>/resourceGroups/<ADF resource group name>/providers/Microsoft.DataFactory/factories/<ADF datafactory name>"}
Kódovaný KÓD JSON:
{
"displayName": "pipeline_mdf",
"type": " MountedDataFactory ",
"definition": {
"parts": [
{
"path": "mountedDataFactory-content.json",
"payload": <base64 encoded value>,
"payloadType": "InlineBase64"
}
]
}
}
Odpověď 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "MountedDataFactory",
"displayName": "Pipeline_mdf",
"description": "",
"workspaceId": "<Your WS Id>"
}
Odstranit položku
REST API – Položky – Odstranění položky
Příklad:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Odpověď 200: (Bez textu)
Získat položku
REST API – Položky – Získání položky
Příklad:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Odpověď 200:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"workspaceId": "<your WS Id>"
}
Získání definice položky
REST API – Položky – Získání definice položky
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition
Odpověď 200:
{
"definition": {
"parts":[
{
"path": "pipeline-content.json",
"payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==",
"payloadType": "InlineBase64"
}
]
}
}
Položky seznamu
REST API – Položky – Položky seznamu
Příklad:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Odpověď 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"
}
]
}
Aktualizovat položku
REST API – Položky – Aktualizace položky
Příklad:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Text:
{
"displayName": "Pipeline_1_updated",
"description": "This is the description."
}
Odpověď 200:
{
"id": "<pipeline id>",
"type": "DataPipeline",
"displayName": "Pipeline_1_updated",
"description": "This is the description.",
"workspaceId": "<Your WS id>"
}
Aktualizace definice položky
REST API – Položky – Aktualizace definice položky
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition
Text:
{
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Odpověď 200: (Bez textu)
Spuštění úlohy položky na vyžádání
REST API – Položky – Spuštění úlohy položek na vyžádání
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Odpověď 202: (Bez textu)
Příklad se dvěma hodnotami parametrů:
Tady máme aktivitu Wait s parametrem s názvem param_waitsec , který určuje počet sekund čekání.
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Text:
{
"executionData": {
"parameters": {
"param_waitsec": "10"
}
}
}
Odpověď 202: (Bez textu)
Poznámka:
V současné době není vráceno žádné tělo, ale mělo by se vrátit ID úlohy. Během náhledu ji najdete ve vrácené hlavičce ve vlastnosti Umístění.
Získání instance úlohy položky
REST API – Položky – Získání instance úlohy položky
Příklad:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>
Odpověď 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šení instance úlohy položky
REST API – Položky – Zrušení instance úlohy položky
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel
Odpověď 202: (Bez textu)
Poznámka:
Po zrušení úlohy můžete stav zkontrolovat voláním instance úlohy Získat položku nebo zobrazením historie spuštění v uživatelském rozhraní Fabric.
Spouštění aktivit dotazů
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<job id>/queryactivityruns
Text:
{
"filters":[],
"orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
"lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
"lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}
Poznámka:
ID úlohy je stejné ID, které se vytvořilo a používá ve veřejných rozhraních API plánovače úloh.
Odpověď 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"
}
]
Známá omezení
- Ověřování instančního objektu (SPN) se v současné době nepodporuje.