Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Αυτό το άρθρο περιγράφει τα συνήθη σενάρια για τη διαχείριση μιας λίμνης μέσω προγραμματισμού με το Microsoft Fabric REST API. Κάθε ενότητα εμφανίζει το αίτημα HTTP και την απόκριση για μια συγκεκριμένη εργασία, ώστε να μπορείτε να προσαρμόσετε το μοτίβο στις δέσμες ενεργειών ή τις εφαρμογές αυτοματισμού σας.
Για την πλήρη προδιαγραφή — συμπεριλαμβανομένων όλων των παραμέτρων, των απαιτούμενων δικαιωμάτων, των σχημάτων αιτημάτων και των κωδικών σφάλματος — ανατρέξτε στην αναφορά Lakehouse REST API.
Prerequisites
-
Αποκτήστε ένα διακριτικό Microsoft Entra για την υπηρεσία Fabric και συμπεριλάβετέ το
Authorizationστην κεφαλίδα κάθε αίτησης. - Αντικαταστήστε
{workspaceId}{lakehouseId}και στα παρακάτω παραδείγματα με τις δικές σας τιμές.
Δημιουργία, ενημέρωση και διαγραφή lakehouse
Τα παρακάτω παραδείγματα δείχνουν πώς μπορείτε να παρέχετε ένα νέο lakehouse, να το μετονομάσετε, να ανακτήσετε τις ιδιότητές του (συμπεριλαμβανομένου του τελικού σημείου ανάλυσης SQL που παρέχεται αυτόματα) και να το διαγράψετε. Για την πλήρη λίστα παραμέτρων και πρόσθετα παραδείγματα (όπως η δημιουργία μιας λίμνης με δυνατότητα σχήματος ή η δημιουργία με ορισμό), ανατρέξτε στην αναφορά API Lakehouse Items.
Δημιουργία lakehouse
Για να δημιουργήσετε μια λίμνη σε έναν χώρο εργασίας, στείλτε μια αίτηση POST με το εμφανιζόμενο όνομα. Το Fabric παρέχει αυτόματα ένα τελικό σημείο ανάλυσης SQL δίπλα στο lakehouse.
Αίτηση
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses
{
"displayName": "demo"
}
Απάντηση
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Ενημέρωση lakehouse
Για να μετονομάσετε ένα lakehouse ή να ενημερώσετε την περιγραφή του, στείλτε μια αίτηση PATCH με τις νέες τιμές.
Αίτηση
PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
{
"displayName": "newname",
"description": "Item's New description"
}
Απάντηση
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "newname",
"description": "Item's New description",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Λήψη ιδιοτήτων lakehouse
Ανακτήστε τα μετα-δεδομένα lakehouse, συμπεριλαμβανομένων των διαδρομών OneLake και του τελικού σημείου ανάλυσης SQL connection string.
Αίτηση
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
Απάντηση
{
"id": "daaa77c7-9ef4-41fc-ad3c-f192604424f5",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "bee6c118-c2aa-4900-9311-51546433bbb8",
"properties": {
"oneLakeTablesPath": "https://onelake.dfs.fabric.microsoft.com/{workspaceId}/{lakehouseId}/Tables",
"oneLakeFilesPath": "https://onelake.dfs.fabric.microsoft.com/{workspaceId}/{lakehouseId}/Files",
"sqlEndpointProperties": {
"connectionString": "A1bC2dE3fH4iJ5kL6mN7oP8qR9-C2dE3fH4iJ5kL6mN7oP8qR9sT0uV-datawarehouse.pbidedicated.windows.net",
"id": "0dfbd45a-2c4b-4f91-920a-0bb367826479",
"provisioningStatus": "Success"
}
}
}
Διαγραφή λίμνης
Η διαγραφή ενός lakehouse καταργεί τα μετα-δεδομένα και τα δεδομένα του. Οι συντομεύσεις αφαιρούνται, αλλά τα δεδομένα στον στόχο συντόμευσης διατηρούνται.
Αίτηση
DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
Απάντηση
Το σώμα απόκρισης είναι άδειο.
Λίστα των πινάκων σε ένα lakehouse
Για να ανακτήσετε όλους τους πίνακες Delta σε μια λίμνη — για παράδειγμα, για να δημιουργήσετε έναν data catalog ή να επικυρώσετε μια ανάπτυξη — χρησιμοποιήστε το τελικό σημείο List Tables. Για την πλήρη λίστα παραμέτρων, ανατρέξτε στην αναφορά API πινάκων.
Αίτηση
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables
Απάντηση
{
"continuationToken": null,
"continuationUri": null,
"data": [
{
"type": "Managed",
"name": "demo1",
"location": "abfss://c522396d-7ac8-435d-8d77-442c3ff21295@onelake.dfs.fabric.microsoft.com/{workspaceId}/Tables/demo1",
"format": "delta"
}
]
}
Το API πινάκων λίστας υποστηρίζει σελιδοποίηση. Μεταβιβάστε maxResults ως παράμετρο ερωτήματος για να ελέγξετε το μέγεθος της σελίδας. Η απάντηση περιλαμβάνει ένα continuationUri μπορείτε να καλέσετε για να ανακτήσετε την επόμενη σελίδα.
Σελιδοποίηση σε μια μεγάλη λίστα πινάκων
Αίτηση
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables?maxResults=1
Απάντηση
{
"continuationToken": "+RID:~HTsuAOseYicH-GcAAAAAAA==#RT:1#TRC:1#ISV:2#IEO:65567#QCF:8#FPC:AgKfAZ8BnwEEAAe8eoA=",
"continuationUri": "https://api.fabric.microsoft.com:443/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables?continuationToken=%2BRID%3A~HTsuAOseYicH-GcAAAAAAA%3D%3D%23RT%3A1%23TRC%3A1%23ISV%3A2%23IEO%3A65567%23QCF%3A8%23FPC%3AAgKfAZ8BnwEEAAe8eoA%3D",
"data": [
{
"type": "Managed",
"name": "nyctaxismall",
"location": "abfss://bee6c118-c2aa-4900-9311-51546433bbb8@onelake.dfs.fabric.microsoft.com/daaa77c7-9ef4-41fc-ad3c-f192604424f5/Tables/nyctaxismall",
"format": "delta"
}
]
}
Φόρτωση αρχείου σε πίνακα Delta
Για να μετατρέψετε αρχεία CSV ή Parquet σε πίνακες Delta χωρίς να γράψετε κώδικα Spark, χρησιμοποιήστε το API Load Table. Αυτό είναι το προγραμματικό ισοδύναμο της δυνατότητας Φόρτωση σε πίνακες στην αρχική σελίδα του Lakehouse. Για την πλήρη λίστα παραμέτρων, ανατρέξτε στην αναφορά API Load Table.
Η λειτουργία είναι ασύγχρονη. Ακολουθήστε αυτά τα βήματα:
- Αποστείλετε αρχεία στην ενότητα Αρχεία lakehouse χρησιμοποιώντας τα API OneLake.
- Υποβάλετε το αίτημα φόρτωσης.
- Εξετάστε την κατάσταση λειτουργίας μέχρι να ολοκληρωθεί.
Τα ακόλουθα παραδείγματα προϋποθέτουν ότι τα αρχεία έχουν ήδη μεταφορτωθεί.
Υποβολή αιτήματος φόρτωσης
Αυτό το παράδειγμα φορτώνει ένα αρχείο CSV με όνομα demo.csv σε έναν πίνακα με το όνομα demo, αντικαθιστώντας τυχόν υπάρχοντα δεδομένα. Ορίστε mode σε για Append να προσθέσετε σειρές. Ορίστε pathType σε για Folder να φορτώσετε όλα τα αρχεία σε έναν φάκελο.
Αίτηση
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables/demo/load
{
"relativePath": "Files/demo.csv",
"pathType": "File",
"mode": "Overwrite",
"formatOptions":
{
"header": true,
"delimiter": ",",
"format": "Csv"
}
}
Η απάντηση δεν περιλαμβάνει σώμα. Αντίθετα, η Location κεφαλίδα περιέχει ένα URI που χρησιμοποιείτε για την ανίχνευση της κατάστασης λειτουργίας. Το URI ακολουθεί αυτό το μοτίβο:
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
Poll την κατάσταση λειτουργίας φορτίου
Χρησιμοποιήστε το από την operationId κεφαλίδα για να ελέγξετε την Location πρόοδο:
Αίτηση
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
Απάντηση
{
"Status": 3,
"CreatedTimeUtc": "",
"LastUpdatedTimeUtc": "",
"PercentComplete": 100,
"Error": null
}
Κατάσταση πιθανής λειτουργίας για φόρτωση σε πίνακες:
- 1 - Η λειτουργία δεν ξεκίνησε
- 2 - Εκτέλεση
- 3 - Επιτυχία
- 4 - Αποτυχία
Εκτέλεση συντήρησης πίνακα σε πίνακα Delta
Για να βελτιστοποιήσετε τους πίνακες Delta — εφαρμόζοντας συμπίεση κάδου, V-Order, Z-Order ή VACUUM — χωρίς να χρησιμοποιήσετε το Lakehouse Explorer, χρησιμοποιήστε το Table Maintenance API. Αυτό είναι το προγραμματικό ισοδύναμο της δυνατότητας συντήρησης πίνακα. Για την πλήρη λίστα παραμέτρων, ανατρέξτε στην αναφορά API συντήρησης πίνακα.
Η λειτουργία είναι ασύγχρονη. Ακολουθήστε αυτά τα βήματα:
- Υποβάλετε το αίτημα συντήρησης τραπεζιού.
- Εξετάστε την κατάσταση λειτουργίας μέχρι να ολοκληρωθεί.
Υποβολή αιτήματος συντήρησης τραπεζιού
Αυτό το tipAmount παράδειγμα εφαρμόζει βελτιστοποίηση V-Order και Z-Order στη στήλη και εκτελεί το VACUUM με περίοδο διατήρησης επτά ημερών και μίας ώρας.
Αίτηση
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/TableMaintenance/instances
{
"executionData": {
"tableName": "{table_name}",
"schemaName": "{schema_name}",
"optimizeSettings": {
"vOrder": true,
"zOrderBy": [
"tipAmount"
]
},
"vacuumSettings": {
"retentionPeriod": "7:01:00:00"
}
}
}
Η απάντηση δεν περιλαμβάνει σώμα. Η Location κεφαλίδα περιέχει ένα URI που χρησιμοποιείτε για την ανίχνευση της κατάστασης λειτουργίας:
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Το τελικό σημείο εκτέλεσης έχει εμβέλεια lakehouse, αλλά η ανίχνευση παρουσίας εργασίας χρησιμοποιεί το γενικό τελικό σημείο εργασίας στοιχείου (/items/{itemId}/jobs/instances/{jobInstanceId}) από σχεδίαση.
Important
Ο ορισμός μιας περιόδου διατήρησης μικρότερης από επτά ημέρες επηρεάζει το ταξίδι στο χρόνο Delta και μπορεί να προκαλέσει αποτυχίες του προγράμματος ανάγνωσης ή καταστροφή πίνακα, εάν εξακολουθούν να χρησιμοποιούνται στιγμιότυπα ή μη δεσμευμένα αρχεία. Για αυτόν τον λόγο, η συντήρηση πινάκων τόσο στο περιβάλλον εργασίας χρήστη Fabric όσο και στο REST API απορρίπτει τις περιόδους διατήρησης κάτω των επτά ημερών από προεπιλογή. Για να επιτρέψετε μικρότερο χρονικό διάστημα, ορίστε spark.databricks.delta.retentionDurationCheck.enabled το σε false στις ρυθμίσεις χώρου εργασίας. Στη συνέχεια, οι εργασίες συντήρησης πίνακα χρησιμοποιούν αυτήν τη ρύθμιση παραμέτρων κατά την εκτέλεση.
Σταθμοσκόπηση της κατάστασης συντήρησης του πίνακα
Χρησιμοποιήστε το από την operationId κεφαλίδα για να ελέγξετε την κατάσταση της Location εργασίας:
Αίτηση
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Αυτή η εκλογική διαδρομή χρησιμοποιεί items σκόπιμα αντί για lakehouses.
Απάντηση
{
"id": "{operationId}",
"itemId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7",
"jobType": "TableMaintenance",
"invokeType": "Manual",
"status": "Completed",
"rootActivityId": "8c2ee553-53a4-7edb-1042-0d8189a9e0ca",
"startTimeUtc": "2023-04-22T06:35:00.7812154",
"endTimeUtc": "2023-04-22T06:35:00.8033333",
"failureReason": null
}
Πιθανή κατάσταση λειτουργίας για συντήρηση πίνακα:
- NotStarted - Η εργασία δεν ξεκίνησε
- InProgress - Εργασία σε εξέλιξη
- Ολοκληρώθηκε - Η εργασία ολοκληρώθηκε
- Αποτυχία - Η εργασία απέτυχε
- Ακυρώθηκε - Η εργασία ακυρώθηκε
- Deduped - Μια παρουσία του ίδιου τύπου εργασίας εκτελείται ήδη και παραλείπεται αυτή η παρουσία εργασίας