Funzionalità api pubbliche per Dataflow Gen2 in Fabric Data Factory

Fabric Data Factory offre un set di API che è possibile usare per automatizzare e gestire i flussi di dati in modo efficiente. Queste API si integrano con varie origini dati e servizi, in modo da poter creare, aggiornare e monitorare i flussi di lavoro dei dati a livello di codice. Le API supportano un'ampia gamma di operazioni, tra cui i flussi di dati CRUD (Create, Read, Update e Delete), la pianificazione e il monitoraggio.

Casi d'uso dell'API per i flussi di dati

Usare le API per i flussi di dati in Fabric Data Factory in vari scenari:

  • Distribuzione automatizzata: automatizzare la distribuzione dei flussi di dati in ambienti diversi (sviluppo, test, produzione) usando procedure CI/CD.
  • Monitoraggio e avvisi: configurare sistemi di monitoraggio e avvisi automatizzati per tenere traccia dello stato dei flussi di dati e ricevere notifiche in caso di errori o problemi di prestazioni.
  • Integrazione dei dati: integrare dati da più origini, ad esempio database, data lake e servizi cloud, in un flusso di dati unificato per l'elaborazione e l'analisi.
  • Gestione degli errori: implementare meccanismi personalizzati di gestione degli errori e ripetizione dei tentativi per garantire che i flussi di dati vengano eseguiti senza problemi e ripristinati dagli errori.

Informazioni sulle API

Per usare in modo efficace le API per i flussi di dati in Fabric Data Factory, comprendere i concetti e i componenti chiave:

  • Endpoint: gli endpoint API forniscono l'accesso a varie operazioni del flusso di dati, ad esempio la creazione, l'aggiornamento e l'eliminazione dei flussi di dati.
  • Autenticazione: proteggere l'accesso alle API usando meccanismi di autenticazione come le chiavi OAuth o API.
  • Richieste e risposte: comprendere la struttura delle richieste e delle risposte dell'API, inclusi i parametri obbligatori e l'output previsto.
  • Limiti di frequenza: tenere presente i limiti di frequenza imposti all'utilizzo dell'API per evitare di superare il numero consentito di richieste.

Supporto CRUD

CRUD è l'acronimo di Create, Read, Update e Delete: le quattro operazioni di base che è possibile eseguire sui dati. L'API Fabric per Data Factory supporta le operazioni CRUD, in modo da poter gestire i flussi di dati a livello di codice. Punti chiave sul supporto CRUD:

  • Crea: creare nuovi flussi di dati usando l'API. Ciò implica la definizione della struttura del flusso di dati, la specifica di origini dati, trasformazioni e destinazioni.
  • Lettura: recuperare informazioni sui flussi di dati esistenti. Sono inclusi dettagli sulla configurazione, lo stato e la cronologia di esecuzione.
  • Aggiornamento: aggiornare i flussi di dati esistenti. Ciò potrebbe comportare la modifica della struttura del flusso di dati, la modifica delle origini dati o l'aggiornamento della logica di trasformazione.
  • Elimina: elimina i flussi di dati non più necessari. Ciò consente di gestire e pulire le risorse.

Per la documentazione di riferimento online principale per Microsoft Fabric API REST, vedere la documentazione dell'API REST Microsoft Fabric.

Ciclo di vita del flusso di dati

Quando si lavora con i flussi di dati, è importante comprendere il ciclo di vita di un flusso di dati per garantire processi di integrazione dei dati uniformi ed efficienti. Le fasi principali del ciclo di vita del flusso di dati includono:

  • Definizione: Questa fase consente di creare o modificare la definizione di un flusso di dati. Questo processo implica la specifica delle origini dati, delle trasformazioni e delle destinazioni.
  • Pubblicare: Dopo aver modificato la definizione di un flusso di dati, è necessario richiamare l'operazione Di pubblicazione . Si tratta di un passaggio fondamentale perché salva le modifiche apportate alla definizione del flusso di dati e la rende disponibile per l'esecuzione.
  • Aggiornare: Dopo la pubblicazione del flusso di dati, è possibile richiamare l'operazione di aggiornamento . Questa operazione attiva l'esecuzione del flusso di dati, il pull dei dati dalle origini specificate, l'applicazione delle trasformazioni definite e il caricamento dei dati nella destinazione.

Prerequisiti

Per usare le API pubbliche di Dataflow Gen2, è necessario:

Introduzione alle API pubbliche per i flussi di dati

La tabella seguente riepiloga tutte le operazioni API di Dataflow Gen2 disponibili:

Operation Metodo HTTP Punto finale
Creazione di un flusso di dati POSTA /v1/workspaces/{workspaceId}/items
Creare un flusso di dati con definizione POSTA /v1/workspaces/{workspaceId}/items (con definition in payload)
Ottieni il flusso di dati GET /v1/workspaces/{workspaceId}/items/{itemId}
Ottieni il flusso di dati con definizione POSTA /v1/workspaces/{workspaceId}/items/{itemId}/getDefinition
Aggiornare il flusso di dati PATCH /v1/workspaces/{workspaceId}/items/{itemId}
Aggiornare il flusso di dati con la definizione POSTA /v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition
Eliminare il flusso di dati DELETE /v1/workspaces/{workspaceId}/items/{itemId}
Eseguire l'aggiornamento su richiesta POSTA /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Refresh
Eseguire la pubblicazione su richiesta POSTA /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Publish
Ottenere l'istanza del processo GET /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}
Annullare l'istanza del processo POSTA /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}/cancel

In questa sezione vengono illustrati gli argomenti seguenti:

Ottenere un codice di autorizzazione

È necessario un token di connessione per tutte le chiamate API REST. Ottienilo tramite una di queste opzioni:

MSAL.NET

Guida introduttiva all'API fabric - API REST di Microsoft Fabric

Usare MSAL.NET per acquisire un token di Microsoft Entra ID per il servizio Fabric con gli ambiti seguenti: Workspace.ReadWrite.All, Item.ReadWrite.All. Per altre informazioni sull'acquisizione di token con MSAL.NET, vedere Acquisizione di token - Libreria di Autenticazione Microsoft per .NET.

Incollare l'ID applicazione (client) copiato in precedenza nella variabile ClientId .

portale di Fabric

Accedere al portale di Fabric per il tenant da testare e selezionare F12 per aprire gli strumenti di sviluppo del browser. Nella console eseguire:

powerBIAccessToken

Copiare il token e incollarlo nella variabile ClientId .

Creazione di un flusso di dati

Creare un flusso di dati in un'area di lavoro specificata. Inviare una richiesta POST all'endpoint items con displayName, description e type impostati su Dataflow. La risposta comprende l'elemento creato con il relativo id.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items)

Headers:

{
    "Authorization": "\<bearer-token>",
    "Content-Type": "application/json"
}

Payload:

{
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "type": "Dataflow"
}

Risposta di esempio

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

Creare un flusso di dati con definizione

Creare un flusso di dati con una definizione Base64 in un'area di lavoro specificata. Inviare una richiesta POST all'endpoint degli elementi con un documento mashup con codifica Base64 inline nella definition.parts matrice.

Documento mashup di esempio

{
    "editingSessionMashup": {
            "mashupName": "",
            "mashupDocument": "section Section1;\r\nshared Query = let\n Source = Table.FromRows(\n {\n {1, \"Bob\", \"123-4567\"},\n {2, \"Jim\", \"987-6543\"}\n },\n {\"CustomerID\", \"Name\", \"Phone\"})\nin\n Source;\r\n",
            "queryGroups": [],
            "documentLocale": "en-US",
            "gatewayObjectId": null,
            "queriesMetadata": null,
            "connectionOverrides": [],
            "trustedConnections": null,
            "useHostConnectionProvider": false,
            "fastCombine": false,
            "allowNativeQueries": true,
            "allowedModules": null,
            "skipAutomaticTypeAndHeaderDetection": false,
            "disableAutoAnonymousConnectionUpsert": null,
            "hostProperties": {
                    "DataflowRefreshOutputFileFormat": "Parquet",
                    "EnableDateTimeFieldsForStaging": "true",
                    "EnablePublishWithoutLoadedQueries": "true"
            },
            "defaultOutputDestinationConfiguration": null,
            "stagingDefinition": null
    }
}

Usare Codifica e decodifica Base64 per codificare il codice JSON.

Assicurarsi che la casella Esegui codifica URL sicura non sia spuntata.

Incolla la risposta del payload della richiesta codificato in Base64 nella definizione del payload.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items)

Headers:

{
    "Authorization": "\<bearer-token>",
    "Content-Type": "application/json"
}

Payload:

{
    "displayName": " My dataflow",
    "description": "My dataflow description",

    "type": "Dataflow",
    "definition": {
        "parts": [
            {
                "path": "dataflow-content.json",
                "payload": "ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ==",
                "payloadType": "InlineBase64"
            }
        ]
    }
}

Risposta di esempio

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

Ottieni il flusso di dati

Restituisce le proprietà di un flusso di dati specificato. Invia una richiesta GET con i parametri del percorso workspaceId e itemId.

Esempio di richiesta

URI: GET [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
    "Authorization": "\<bearer-token>"
}

Risposta di esempio

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

Ottieni il flusso di dati con la definizione

Restituisce la definizione dell'elemento del flusso di dati. Inviare una richiesta POST all'endpoint getDefinition . La risposta contiene parti con codifica Base64, inclusi i metadati del documento mashup e della piattaforma.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/getDefinition](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/getDefinition)

Headers:

{
    "Authorization": "\<bearer-token>"
}

Risposta di esempio

{

    "definition": {

        "parts": [

            {

                "path": "dataflow-content.json",

                "payload": " ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ=="

                "payloadType": "InlineBase64"

            },

            {

                "path": ".platform",

                "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkRhdGFmbG93IiwKICAgICJkaXNwbGF5TmFtZSI6ICJEYXRhZmxvdyAzIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=",

                "payloadType": "InlineBase64"

            }

        ]

    }

}

Risposta di esempio (formato semplificato)

{
    'definition':
    {
        'parts': [
            {
                'path': 'queryMetadata.json', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            },
            {
                'path': 'mashup.pq', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            },
            {
                'path': '.platform', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            }
        ]
    }
}

Aggiornare il flusso di dati

Aggiorna le proprietà di un flusso di dati specificato. Inviare una richiesta PATCH con i parametri di percorso workspaceId e itemId. Includere l'oggetto aggiornato displayName o description nel corpo della richiesta.

Esempio di richiesta

URI: PATCH [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
  "Authorization": "\<bearer-token>",
  "Content-Type": "application/json"
}

Payload:
{
  "displayName": "My dataflow updated",
  "description": "My dataflow description updated",
  "type": "Dataflow"
}

Risposta di esempio

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow updated",
    "description": "My dataflow description updated",
    "workspaceId": "\<workspaceId>"
}

Aggiornare il flusso di dati con la definizione

Aggiorna la definizione dell'elemento del flusso di dati. Inviare una richiesta POST all'endpoint updateDefinition con parti di definizione con codifica Base64 nel corpo della richiesta.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/updateDefinition)

Headers:

{
  "Authorization": "\<bearer-token>",
  "Content-Type": "application/json"
}

Payload:

{
  "displayName": " My dataflow",
  "type": "Dataflow",
  "definition": {
    "parts": [
      {
        "path": "dataflow-content.json",
        "payload": " ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ==",
        "payloadType": "InlineBase64"
      }
    ]
  }
}

Risposta di esempio

200 OK

Eliminare il flusso di dati

Elimina il flusso di dati specificato. Inviare una richiesta DELETE con i parametri del percorso workspaceId e itemId. Restituisce 200 OK in caso di esito positivo.

Esempio di richiesta

URI: DELETE [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Risposta di esempio

200 OK

Esegui processo dataflow su richiesta (aggiorna)

Attiva un aggiornamento su richiesta per il flusso di dati specificato. Inviare una richiesta POST con jobType=Refresh come parametro di query. Includi DataflowName, OwnerUserPrincipalName e OwnerUserObjectId nel payload di executionData. Restituisce 202 Accepted con jobInstanceId per il monitoraggio.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Refresh](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances?jobType=Refresh)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Payload:

{
    "executionData": {
        "DataflowName": "Dataflow",
        "OwnerUserPrincipalName": "\<name@email.com>",
        "OwnerUserObjectId": "\<ObjectId>"
    }
}

Risposta di esempio

202 Accepted
[
  {
    "id": "\<jobId>",
    "itemId": "\<dataflowItemId>",
    "jobType": "Refresh",
    "invokeType": "OnDemand",
    "status": "Accepted",
    "jobInstanceId": "\<uniqueJobInstanceId>",
    "rootActivityId": "\<rootActivityId>",
    "startTimeUtc": "2025-01-30T11:10:50Z",
    "endTimeUtc": null,
    "failureReason": null
  }
]

Esegui un'attività di pubblicazione del flusso di dati su richiesta

Attiva una pubblicazione su richiesta per il flusso di dati specificato. Inviare una richiesta POST con jobType=Publish come parametro di query. Restituisce 202 Accepted con un jobInstanceId per il tracciamento.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Publish](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances?jobType=Publish)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Payload:

{
    "executionData": {
        "DataflowName": "Dataflow",
        "OwnerUserPrincipalName": "\<name@email.com>",
        "OwnerUserObjectId": "\<ObjectId>"
    }
}

Risposta di esempio

202 Accepted

[
  {
    "id": "\<jobId>",
    "itemId": "\<dataflowItemId>",
    "jobType": "Publish",
    "invokeType": "OnDemand",
    "status": "Accepted",
    "jobInstanceId": "\<uniqueJobInstanceId>",
    "rootActivityId": "\<rootActivityId>",
    "startTimeUtc": "2025-01-30T11:10:50Z",
    "endTimeUtc": null,
    "failureReason": null
  }
]

Ottieni l'istanza del processo del flusso di dati

Recupera lo stato di una specifica istanza di processo. Inviare una richiesta GET con i parametri del percorso workspaceId, itemId e jobInstanceId. Restituisce lo stato del processo, l'ora di inizio e il motivo dell'errore (se applicabile).

Esempio di richiesta

URI: GET [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances/%7bjobInstanceId%7d)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Risposta di esempio

{
  "id": "\<id>",
  "itemId": "<itemId?",
  "jobType": "Refresh",
  "invokeType": "Manual",
  "status": "Completed",
  "rootActivityId": "\<rootActivityId>",
  "startTimeUtc": "2023-08-22T06:35:00.7812154",
  "endTimeUtc": "2023-08-22T06:35:00.8033333",
  "failureReason": null
}

Annulla l'istanza del processo di dataflow

Annulla un'istanza del processo in esecuzione. Inviare una richiesta POST all'endpoint cancel con i workspaceIdparametri di percorso , itemIde jobInstanceId . Restituisce 202 Accepted quando viene avviata l'operazione di annullamento.

Esempio di richiesta

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}/cancel](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances/%7bjobInstanceId%7d/cancel)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Risposta di esempio

Location: https://api.fabric.microsoft.com/v1/workspaces/\<worksapceId>/items/\<itemId>/jobs/instances/\<jobInstanceId>

Retry-After: 60

Limitazioni correnti

  • L'autenticazione del service principal non è supportata.
  • "Get Item" e "List Item Access Details" non restituiscono le informazioni corrette se si filtra in base al tipo di elemento del flusso di dati.
  • Quando non si specifica il tipo, l'API restituisce dataflow Gen2 (CI/CD, anteprima), il nuovo dataflow Gen2 con supporto CI/CD e Git.
  • È possibile invocare le API Run, ma l'esecuzione effettiva non va mai a buon fine.