Κοινή χρήση μέσω


Δημόσιο API REST διοχέτευσης δεδομένων Microsoft Fabric (Προεπισκόπηση)

Σημαντικό

Το Microsoft Fabric API για το Data Factory είναι αυτήν τη στιγμή σε δημόσια προεπισκόπηση. Αυτές οι πληροφορίες σχετίζονται με ένα προϊόν πριν από την κυκλοφορία του, το οποίο μπορεί να τροποποιηθεί σημαντικά πριν από την κυκλοφορία του. Η Microsoft δεν παρέχει εγγυήσεις, εκφρασμένες ή σιωπηρές, σε σχέση με τις πληροφορίες που παρέχονται εδώ.

Στο Microsoft Fabric, τα API data Factory αποτελούνται αποκλειστικά από λειτουργίες CRUD για διοχετεύσεις και ροές δεδομένων. Προς το παρόν, υποστηρίζονται μόνο διοχετεύσεις δεδομένων. Τα API ροών δεδομένων θα κυκλοφορήσουν αργότερα. Άλλες συνήθεις περιοχές για έργα ενοποίησης δεδομένων είναι σε ξεχωριστά API: χρονοδιαγράμματα, παρακολούθηση, συνδέσεις, έχουν τα δικά τους API στο Fabric. Μπορείτε να βρείτε την κύρια ηλεκτρονική τεκμηρίωση αναφοράς για τα API REST του Microsoft Fabric στις αναφορές του Microsoft Fabric REST API. Ανατρέξτε επίσης στο API βασικών στοιχείων και στο χρονοδιάγραμμα εργασίας.

Μοντάρισμα δημόσιων API

Τα Αυξανόμενα δημόσια API είναι τώρα διαθέσιμα. Αυτά τα API σάς επιτρέπουν να ενοποιήσετε και να αποκτήσετε πρόσβαση απρόσκοπτα σε διάφορες δημόσιες προελεύσεις δεδομένων εντός των διοχετεύσεων δεδομένων σας.

Λήψη διακριτικού εξουσιοδότησης

Επιλογή 1: Χρήση MSAL.Net

Γρήγορη εκκίνηση API Fabric - Microsoft Fabric REST API

Χρησιμοποιήστε MSAL.Net για να αποκτήσετε ένα διακριτικό αναγνωριστικού Microsoft Entra για την υπηρεσία Fabric με τις ακόλουθες εμβέλειες: Workspace.ReadWrite.All, Item.ReadWrite.All. Για περισσότερες πληροφορίες σχετικά με την απόκτηση διακριτικών με MSAL.Net σε, ανατρέξτε στο θέμα Απόκτηση διακριτικού - Βιβλιοθήκη ελέγχου ταυτότητας της Microsoft για .NET.

Επικολλήστε το αναγνωριστικό εφαρμογής (πρόγραμμα-πελάτης) που αντιγράψατε νωρίτερα και επικολλήστε το για τη μεταβλητή ClientId.

Επιλογή 2: Χρήση της πύλης Fabric

Εισέλθετε στην πύλη Fabric για τον μισθωτή στον οποίο θέλετε να δοκιμάσετε και πατήστε το πλήκτρο F12 για να εισέλθετε στη λειτουργία προγραμματιστή του προγράμματος περιήγησης. Στην κονσόλα εκεί, εκτελέστε τις εξής εκτελέσεις:

powerBIAccessToken

Αντιγράψτε το διακριτικό και επικολλήστε το για τη μεταβλητή ClientId.

Ορισμός στοιχείου με κωδικοποιημένη βάση ωφέλιμου φορτίου64

  • Χρησιμοποιήστε το Base64 Encode και το Decode για να κωδικοποιήσετε το JSON.
  • Βεβαιωθείτε ότι δεν είναι επιλεγμένο το πλαίσιο Εκτέλεση ασφαλούς κωδικοποίησης διεύθυνσης URL.
  • Μπορείτε να λάβετε τους ορισμούς διοχέτευσης μέσω της καρτέλας Προβολή -->Προβολή κώδικα JSON στο περιβάλλον εργασίας χρήστη 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" 
    } 
}

Λάβετε το αντικείμενο ιδιοτήτων και περικλεώστε το σε άγκιστρα - { } - ώστε το ωφέλιμο φορτίο ορισμού στοιχείου REST να είναι:

{
    "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" 
    } 
} 

Δημιουργία στοιχείου

REST API - Στοιχεία - Δημιουργία στοιχείου

Παράδειγμα 1 - CreateDataPipeline:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items

Σώμα:

{ 
  "displayName": "pipeline_1", 
  "type": "DataPipeline" 
} 

Σημείωμα

Η τεκμηρίωση αναφέρει ότι υπάρχουν μόνο 2 απαιτούμενες ιδιότητες - displayName και τύπος. Προς το παρόν, η συνάρτηση Workload-DI δεν υποστηρίζει τη δημιουργία και χωρίς ορισμό . Η επιδιόρθωση για αυτήν την εσφαλμένη απαίτηση αναπτύσσεται αυτήν τη στιγμή. Προς το παρόν, μπορείτε να στείλετε τον ίδιο προεπιλεγμένο ορισμό που χρησιμοποιείται από το περιβάλλον εργασίας χρήστη Fabric: ‘{"properties":{"activities":[]}}’

Τροποποιημένο JSON συμπεριλαμβανομένου του ορισμού:

{ 
  "displayName": "pipeline_1", 
  "type": "DataPipeline", 
  "definition": { 
    "parts": [ 
      { 
        "path": "pipeline-content.json", 
        "payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
} 

Απάντηση 201:

{ 
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1", 
    "description": "", 
    "workspaceId": "<Your WS Id>" 
} 

Παράδειγμα 2 – Δημιουργία mountedDataFactory

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items

Σώμα:

Ωφέλιμο φορτίο:

{"DataFactoryResourceId":"/subscriptions/<ADF subscription Id>/resourceGroups/<ADF resource group name>/providers/Microsoft.DataFactory/factories/<ADF datafactory name>"} 

Κωδικοποιημένο JSON:

{ 
  "displayName": "pipeline_mdf", 
  "type": " MountedDataFactory ", 
  "definition": { 
    "parts": [ 
      { 
        "path": "mountedDataFactory-content.json", 
        "payload": <base64 encoded value>, 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
}  

Απάντηση 201:

{ 
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "type": "MountedDataFactory", 
    "displayName": "Pipeline_mdf", 
    "description": "", 
    "workspaceId": "<Your WS Id>"
} 

Διαγραφή στοιχείου

REST API - Στοιχεία - Διαγραφή στοιχείου

Παράδειγμα:

DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Απάντηση 200: (Χωρίς σώμα)

Λήψη στοιχείου

REST API - Στοιχεία - Λήψη στοιχείου

Παράδειγμα:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Απάντηση 200:

{ 
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1", 
    "workspaceId": "<your WS Id>" 
} 

Λήψη ορισμού στοιχείου

REST API - Στοιχεία - Λήψη ορισμού στοιχείου

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition

Απάντηση 200:

{ 
    "definition": { 
        "parts":[ 
            { 
                "path": "pipeline-content.json", 
                "payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==", 
                "payloadType": "InlineBase64" 
            } 
        ] 
    } 
} 

Στοιχεία λίστας

REST API - Στοιχεία - Στοιχεία λίστας

Παράδειγμα:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items

Απάντηση 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" 
        } 
    ] 
} 

Ενημέρωση στοιχείου

REST API - Στοιχεία - Ενημέρωση στοιχείου

Παράδειγμα:

PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>

Σώμα:

{ 
  "displayName": "Pipeline_1_updated", 
  "description": "This is the description." 
}

Απάντηση 200:

{ 
    "id": "<pipeline id>", 
    "type": "DataPipeline", 
    "displayName": "Pipeline_1_updated", 
    "description": "This is the description.", 
    "workspaceId": "<Your WS id>" 
}

Ενημέρωση ορισμού στοιχείου

REST API - Στοιχεία - Ενημέρωση ορισμού στοιχείου

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition

Σώμα:

{ 
  "definition": { 
    "parts": [ 
      { 
        "path": "pipeline-content.json", 
        "payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
}

Απάντηση 200: (Χωρίς σώμα)

Εκτέλεση εργασίας στοιχείου κατ' απαίτηση

REST API - Στοιχεία - Εκτέλεση εργασίας στοιχείου κατ' απαίτηση

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline

Απάντηση 202: (Χωρίς σώμα)

Παράδειγμα με δύο τιμές παραμέτρων:

Εδώ έχουμε μια δραστηριότητα Αναμονή με μια παράμετρο που ονομάζεται param_waitsec για να καθορίσουμε τον αριθμό των δευτερολέπτων αναμονής.

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline

Σώμα:

{ 
  "executionData": { 
    "parameters": {
      "param_waitsec": "10" 
    } 
  } 
}

Απάντηση 202: (Χωρίς σώμα)

Σημείωμα

Δεν επιστρέφεται σώμα προς το παρόν, αλλά το αναγνωριστικό εργασίας πρέπει να επιστραφεί. Κατά τη διάρκεια της προεπισκόπησης, μπορεί να βρεθεί στις κεφαλίδες που επιστρέφονται, στην ιδιότητα "Τοποθεσία".

Λήψη παρουσίας εργασίας στοιχείου

REST API - Στοιχεία - Λήψη παρουσίας εργασίας στοιχείου

Παράδειγμα:

GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>

Απάντηση 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" 
} 

Ακύρωση παρουσίας εργασίας στοιχείου

REST API - Στοιχεία - Ακύρωση παρουσίας εργασίας στοιχείου

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel

Απάντηση 202: (Χωρίς σώμα)

Σημείωμα

Μετά την ακύρωση μιας εργασίας, μπορείτε να ελέγξετε την κατάσταση είτε καλώντας την παρουσία εργασίας Λήψη στοιχείου είτε εξετάζοντας το ιστορικό εκτέλεσης Προβολή στο περιβάλλον εργασίας χρήστη Fabric.

Εκτελέσεις δραστηριότητας ερωτημάτων

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<job id>/queryactivityruns

Σώμα:

{
  "filters":[],
  "orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
  "lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
  "lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}

Σημείωμα

Το "αναγνωριστικό εργασίας" είναι το ίδιο αναγνωριστικό που δημιουργήθηκε και χρησιμοποιείται στα δημόσια API προγραμματισμού εργασίας

Απάντηση 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"
    }
]

Γνωστοί περιορισμοί

  • Ο κύριος έλεγχος ταυτότητας υπηρεσίας (SPN) δεν υποστηρίζεται προς το παρόν.