Del via


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.