Offentlig REST API til Microsoft Fabric-datapipeline (prøveversion)
Vigtigt
Microsoft Fabric API til Data Factory er i øjeblikket en offentlig prøveversion. Disse oplysninger relaterer til et foreløbig produkt, der kan blive ændret væsentligt, før det udgives. Microsoft giver ingen garantier, udtrykt eller stiltiende, med hensyn til de oplysninger, der er angivet her.
I Microsoft Fabric består Data Factory-API'er udelukkende af CRUD-handlinger for pipelines og dataflow. I øjeblikket understøttes kun datapipelines. Dataflow-API'er udgives senere. Andre fælles områder for dataintegrationsprojekter er i separate API'er: tidsplaner, overvågning, forbindelser, har deres egne API'er i Fabric. Den primære onlinereferencedokumentation til Microsoft Fabric REST API'er findes i Microsoft Fabric REST API-referencer. Se også API'en for kerneelementer og Jobstyring.
Montering af offentlige API'er
De offentlige API'er til montering er nu tilgængelige. Disse API'er giver dig mulighed for problemfrit at integrere og få adgang til forskellige offentlige datakilder i dine datapipelines.
Hent et godkendelsestoken
Mulighed 1: Brug af MSAL.Net
Hurtig start til Fabric API – Microsoft Fabric REST API'er
Brug MSAL.Net til at hente et Microsoft Entra ID-token til Fabric-tjenesten med følgende områder: Workspace.ReadWrite.All, Item.ReadWrite.All. Du kan få flere oplysninger om tokenanskaffelse med MSAL.Net til under Token Acquisition – Microsoft Authentication Library for .NET.
Indsæt det program-id (klient), du kopierede tidligere, og indsæt det for variablen ClientId.
Mulighed 2: Brug af Fabric Portal
Log på Fabric Portal for den lejer, du vil teste, og tryk på F12 for at gå til browserens udviklertilstand. Kør følgende i konsollen:
powerBIAccessToken
Kopiér tokenet, og indsæt det for variablen ClientId.
Elementdefinition med nyttedatabase64 kodet
- Brug Base64 Encode og Decode til at kode din JSON.
- Kontrollér, at afkrydsningsfeltet Udfør sikker kodning af URL-adressen ikke er markeret.
- Du kan hente pipelinedefinitionerne via fanen Vis JSON-kode i Fabric-brugergrænsefladen>.
{
"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"
}
}
Tag egenskabsobjektet, og omgiv dem i klammeparenteser - { } - så nyttedataene for REST-elementdefinitionen er:
{
"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"
}
}
Opret element
REST API – Elementer – Opret element
Eksempel 1 – CreateDataPipeline:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Tekst:
{
"displayName": "pipeline_1",
"type": "DataPipeline"
}
Bemærk
I dokumentationen angives det, at der kun er to påkrævede egenskaber – displayName og type. Arbejdsbelastnings-DI understøtter i øjeblikket ikke oprettelse uden en definition . Rettelsen til dette fejlagtige krav installeres i øjeblikket. Indtil videre kan du sende den samme standarddefinition, der bruges af Fabric-brugergrænsefladen: ‘{"properties":{"activities":[]}}’
Ændret JSON, herunder definition:
{
"displayName": "pipeline_1",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Svar 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "<Your WS Id>"
}
Eksempel 2 – opret MountedDataFactory
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Tekst:
Nyttedata:
{"DataFactoryResourceId":"/subscriptions/<ADF subscription Id>/resourceGroups/<ADF resource group name>/providers/Microsoft.DataFactory/factories/<ADF datafactory name>"}
Kodet JSON:
{
"displayName": "pipeline_mdf",
"type": " MountedDataFactory ",
"definition": {
"parts": [
{
"path": "mountedDataFactory-content.json",
"payload": <base64 encoded value>,
"payloadType": "InlineBase64"
}
]
}
}
Svar 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "MountedDataFactory",
"displayName": "Pipeline_mdf",
"description": "",
"workspaceId": "<Your WS Id>"
}
Slet element
REST API – Elementer – Slet element
Eksempel:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Svar 200: (ingen brødtekst)
Hent element
REST API – Elementer – Hent element
Eksempel:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Svar 200:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"workspaceId": "<your WS Id>"
}
Hent elementdefinition
REST API – Elementer – Hent elementdefinition
Eksempel:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition
Svar 200:
{
"definition": {
"parts":[
{
"path": "pipeline-content.json",
"payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==",
"payloadType": "InlineBase64"
}
]
}
}
List varer
REST API - Elementer - Listeelementer
Eksempel:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Svar 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"
}
]
}
Opdater element
REST API – Elementer – Opdater element
Eksempel:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Tekst:
{
"displayName": "Pipeline_1_updated",
"description": "This is the description."
}
Svar 200:
{
"id": "<pipeline id>",
"type": "DataPipeline",
"displayName": "Pipeline_1_updated",
"description": "This is the description.",
"workspaceId": "<Your WS id>"
}
Opdater elementdefinition
REST API – Elementer – Opdater elementdefinition
Eksempel:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition
Tekst:
{
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Svar 200: (ingen brødtekst)
Kør varejob efter behov
REST API – Elementer – Kør elementjob efter behov
Eksempel:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Svar 202: (ingen brødtekst)
Eksempel med to parameterværdier:
Her har vi en Vent-aktivitet med en parameter med navnet param_waitsec for at angive det antal sekunder, der skal ventes.
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Tekst:
{
"executionData": {
"parameters": {
"param_waitsec": "10"
}
}
}
Svar 202: (ingen brødtekst)
Bemærk
Der er ikke returneret nogen brødtekst i øjeblikket, men job-id'et skal returneres. Under prøveversionen kan du finde den i de returnerede headere i egenskaben 'Location'.
Hent forekomst af elementjob
REST API – Elementer – Hent elementjobforekomst
Eksempel:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>
Svar 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"
}
Annuller forekomst af elementjob
REST API – Elementer – Annuller forekomst af elementjob
Eksempel:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel
Svar 202: (ingen brødtekst)
Bemærk
Når du har annulleret et job, kan du kontrollere statussen enten ved at kalde Hent elementjobforekomst eller se på visningshistorikken i Fabric-brugergrænsefladen.
Forespørgselsaktivitetskørsler
Eksempel:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<job id>/queryactivityruns
Tekst:
{
"filters":[],
"orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
"lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
"lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}
Bemærk
"job-id" er det samme id, der blev oprettet og brugt i de offentlige API'er for Jobstyring
Svar 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"
}
]
Kendte begrænsninger
- Tjenesteprincipalens godkendelse (SPN) understøttes ikke i øjeblikket.