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 frigives. 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 er endnu ikke tilgængelige. 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.
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 – 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. I øjeblikket understøtter Workload-DI 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>"
}
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å Vis kørselshistorik 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.