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 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.