Openbare REST API voor Microsoft Fabric-gegevenspijplijn (preview)
Belangrijk
De Microsoft Fabric-API voor Data Factory is momenteel beschikbaar als openbare preview. Deze informatie heeft betrekking op een prereleaseproduct dat aanzienlijk kan worden gewijzigd voordat ze worden vrijgegeven. Microsoft geeft geen garanties, uitgedrukt of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
In Microsoft Fabric bestaan Data Factory-API's alleen uit CRUD-bewerkingen voor pijplijnen en gegevensstromen. Op dit moment worden alleen gegevenspijplijnen ondersteund. Api's voor gegevensstromen zijn nog niet beschikbaar. Andere algemene gebieden voor gegevensintegratieprojecten bevinden zich in afzonderlijke API's: planningen, bewaking, verbindingen, hebben hun eigen API's in Fabric. De primaire online referentiedocumentatie voor Microsoft Fabric REST API's vindt u in Microsoft Fabric REST API-verwijzingen. Raadpleeg ook de API voor kernitems en jobplanner.
Itemdefinitie met base64-nettolading gecodeerd
- Gebruik Base64-codering en -decoderen om uw JSON te coderen.
- Zorg ervoor dat het vak Veilige codering van URL's uitvoeren niet is ingeschakeld.
- U kunt de pijplijndefinities ophalen via het tabblad JSON-code> weergeven in de gebruikersinterface van 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"
}
}
Neem het eigenschappenobject en plaats deze tussen accolades - { } - zodat de nettolading van de definitie van het REST-item:
{
"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"
}
}
Item maken
Voorbeeld : CreateDataPipeline:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Tekst:
{
"displayName": "pipeline_1",
"type": "DataPipeline"
}
Notitie
De documentatie geeft aan dat er slechts 2 vereiste eigenschappen zijn: displayName en type. Op dit moment ondersteunt Workload-DI geen creatie zonder ook een definitie. De oplossing voor deze onjuiste vereiste wordt momenteel geïmplementeerd. Op dit moment kunt u dezelfde standaarddefinitie verzenden die wordt gebruikt door de gebruikersinterface van Fabric: ‘{"properties":{"activities":[]}}’
JSON gewijzigd, inclusief definitie:
{
"displayName": "pipeline_1",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Antwoord 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "<Your WS Id>"
}
Item verwijderen
REST API - Items - Item verwijderen
Voorbeeld:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Antwoord 200: (Geen hoofdtekst)
Item ophalen
REST API - Items - Item ophalen
Voorbeeld:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Antwoord 200:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"workspaceId": "<your WS Id>"
}
Itemdefinitie ophalen
REST API - Items - Itemdefinitie ophalen
Voorbeeld:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition
Antwoord 200:
{
"definition": {
"parts":[
{
"path": "pipeline-content.json",
"payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==",
"payloadType": "InlineBase64"
}
]
}
}
Lijstitems
Voorbeeld:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Antwoord 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"
}
]
}
Item bijwerken
REST API - Items - Item bijwerken
Voorbeeld:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Tekst:
{
"displayName": "Pipeline_1_updated",
"description": "This is the description."
}
Antwoord 200:
{
"id": "<pipeline id>",
"type": "DataPipeline",
"displayName": "Pipeline_1_updated",
"description": "This is the description.",
"workspaceId": "<Your WS id>"
}
Itemdefinitie bijwerken
REST API - Items - Definitie van item bijwerken
Voorbeeld:
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"
}
]
}
}
Antwoord 200: (Geen hoofdtekst)
Taak voor item op aanvraag uitvoeren
REST API - Items - Taak voor item op aanvraag uitvoeren
Voorbeeld:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Antwoord 202: (Geen hoofdtekst)
Voorbeeld met twee parameterwaarden:
Hier hebben we een wachtactiviteit met een parameter met de naam param_waitsec om het aantal seconden op te geven dat moet worden gewacht.
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Tekst:
{
"executionData": {
"parameters": {
"param_waitsec": "10"
}
}
}
Antwoord 202: (Geen hoofdtekst)
Notitie
Er wordt momenteel geen inhoud geretourneerd, maar de taak-id zou wel moeten worden geretourneerd. Tijdens de preview kunt u deze vinden in de geretourneerde headers, in de eigenschap Location.
Itemtaakexemplaren ophalen
REST API - Items - Itemtaakexemplaren ophalen
Voorbeeld:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>
Antwoord 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"
}
Itemtaakexemplaren annuleren
REST API - Items - Itemtaakexemplaren annuleren
Voorbeeld:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel
Antwoord 202: (Geen hoofdtekst)
Notitie
Nadat u een taak hebt geannuleerd, kunt u de status controleren door de optie Haalt taakexemplaar op te gebruiken of de Uitvoeringsgeschiedenis te bekijken in de Fabric-gebruikersinterface.
Uitvoeringen van queryactiviteit
Voorbeeld:
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"
}
Notitie
'taak-id' is dezelfde id die is gemaakt en wordt gebruikt in de openbare API's van Job Scheduler
Antwoord 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"
}
]
Bekende beperkingen
- Service Principal Auth (SPN) wordt momenteel niet ondersteund.