Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Microsoft Fabric Rest API leverer tjenesteslutpunkt for CRUD-handlingen for et Fabric-element. Følgende handlinger er tilgængelige for Lakehouse:
| Action | Description |
|---|---|
| Create | Opretter et lakehouse i et arbejdsområde. Et SQL Analytics-slutpunkt klargøres også sammen med lakehouse. |
| Update | Opdaterer navnet på et lakehouse og SQL Analytics-slutpunktet. |
| Delete | Sletter lakehouse og det tilknyttede SQL Analytics-slutpunkt. |
| Hent egenskaber | Henter egenskaberne for et lakehouse og SQL Analytics-slutpunktet. |
| Liste tabeller | Vis tabeller i lakehouse. |
| Bordbelastning | Opretter deltatabeller ud fra CSV- og parquetfiler og mapper. |
| Vedligeholdelse af tabelen | Anvend bin-compaction, V-Order og fjernelse af ikke-refererede og gamle filer. |
Prerequisites
Hvis du vil bruge Fabric REST-API'en, skal du først hente et Microsoft Entra-token til Fabric-tjenesten. Brug derefter dette token i godkendelsesheaderen for API-kaldet.
Microsoft Fabric Rest API definerer et samlet slutpunkt for handlinger. Slutpunktet er
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items. Pladsholderne{workspaceId}og{lakehouseId}skal erstattes med de relevante værdier, når du udsteder de kommandoer, der er eksemplificeret i denne artikel.
Lakehouse CRUD
Brug følgende API til at udføre oprettelse, ændringer og fjernelse af lakehouse i et arbejdsområde. Du kan finde detaljerede API-parametre og anmodningseksempler i dokumentationen til Create Lakehouse REST API.
Opret et lakehouse
Request:
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
{
"displayName": "demo",
"type": "Lakehouse"
}
Response:
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Opdater et lakehouse
Opdater beskrivelsen, og omdøb Lakehouse.
Request:
PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/aaaabbbb-0000-cccc-1111-dddd2222eeee
{
"displayName": "newname",
"description": "Item's New description"
}
Response:
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "newname",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Hent lakehouse-egenskaber
Request:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
Response:
{
"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"
}
}
}
Slet et lakehouse
Når du sletter et lakehouse, slettes objektets metadata og data. Genvejsreferencer slettes, men dataene bevares på destinationen.
Request:
DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}
Response:Empty
Vis tabeller i et lakehouse
Request:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables
Response:
{
"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"
}
]
}
Listetabellernes API understøtter paginering. Angiv maxResults pr. side som en parameter til anmodningen, og API'en svarer med den fortsættelses-URI, der kan bruges til at få den næste side med resultater.
Eksempel på paginering
Request:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables?maxResults=1
Response:
{
"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"
}
]
}
Indlæs i tabeller
Denne API viser egenskaberne for funktionen Indlæs til tabeller lakehouse. Med denne API er det muligt at indlæse CSV- og parquetfiler i nye eller eksisterende delta lake-tabeller i lakehouse.
Denne API er asynkron, så der kræves tre trin:
- Upload filer og mapper til Lakehouses Files-sektion ved hjælp af OneLake API'er.
- Send indlæsning til API-anmodning om tabeller.
- Spor status for handlingen, indtil den er fuldført.
I følgende afsnit antages det, at filerne allerede er overført.
Indlæs i API-anmodning om tabeller
Parameteren mode understøtter overwrite og append -handlinger.
pathType parameter, der er angivet, hvis individuelle filer eller alle filer fra den angivne mappe indlæses.
Både CSV og parquet understøttes som filparameteren format .
I dette eksempel overføres en CSV-fil med navnet demo.csv til en eksisterende tabel med navnet demo.
Request:
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"
}
}
Svarheaderen indeholder URI'en til afstemning af status for de asynkrone handlinger. URI'en ligger i Location-variablen i responsheaderen.
Variablen Location indeholder en URI som følger: https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/bbbbcccc-1111-dddd-2222-eeee3333ffff. GUID'et bbbbcccc-1111-dddd-2222-eeee3333ffff er handlings-id'et til at forespørge om status for kørsel af indlæsning i tabeller, som beskrevet i næste afsnit.
Overvågning af indlæsning af tabelhandlinger
Når du har hentet operationId fra svaret på API-anmodningen om indlæsning af tabeller, skal du udføre følgende anmodning:
Request:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
Response:
{
"Status": 3,
"CreatedTimeUtc": "",
"LastUpdatedTimeUtc": "",
"PercentComplete": 100,
"Error": null
}
Mulig handlingsstatus for indlæsning i tabeller:
- 1 – Handlingen er ikke startet
- 2 – kører
- 3 – gennemført
- 4 - Mislykkedes
Vedligeholdelse af tabelen
Denne API viser egenskaberne i vedligeholdelsesfunktionen for Lakehouse-tabellen. Med denne API er det muligt at anvende bin-compaction, V-Order og ikke-refererede gamle filer oprydning (vakuum).
Denne API er asynkron, så der kræves to trin:
- Send API-anmodning om vedligeholdelse af tabel.
- Spor status for handlingen, indtil den er fuldført.
API-anmodning om tabelvedligeholdelse
I dette eksempel udføres et tabelvedligeholdelsesjob, der anvender V-Order på en tabel, samtidig med at Z-Order anvendes på tipAmount kolonnen og udfører VACUUM handlingen med en opbevaring på syv dage og én time.
Request:
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances?jobType=TableMaintenance
{
"executionData": {
"tableName": "{table_name}",
"schemaName": "{schema_name}",
"optimizeSettings": {
"vOrder": "true",
"zOrderBy": [
"tipAmount"
]
},
"vacuumSettings": {
"retentionPeriod": "7.01:00:00"
}
}
}
Svarheaderen indeholder URI'en til afstemning af status for de asynkrone handlinger. URI'en ligger i Location-variablen i responsheaderen.
Variablen Location indeholder en URI som følger: https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/ccccdddd-2222-eeee-3333-ffff4444aaaa. GUID'et ccccdddd-2222-eeee-3333-ffff4444aaaa er handlings-id'et til at forespørge om status for kørende handlinger til vedligeholdelse af tabeller, som beskrevet i næste afsnit.
Important
Angivelse af en kortere opbevaringsperiode påvirker Deltas tidsrejsefunktioner. Det er en generel bedste praksis at angive et opbevaringsinterval til mindst syv dage, fordi gamle snapshots og filer, der ikke er blevet sendt, stadig kan bruges af de samtidige tabellæsere og -forfattere. Oprydning af aktive filer med kommandoen VACUUM kan medføre læserfejl eller endda beskadigelse af tabeller, hvis de ikke-bekræftede filer fjernes. Tabelvedligeholdelsesoplevelser i brugergrænsefladen og i de offentlige API'er fejler som standard, når intervallerne er under 7 dage. For at tvinge lavere tilbageholdelsesintervaller for vakuumkommandoen, konfigurere spark.databricks.delta.retentionDurationCheck.enabled til i false arbejdsområdet. Job til tabelvedligeholdelse henter derefter konfigurationen og tillader lavere leje under udførelse af jobbet.
Overvågning af vedligeholdelseshandlinger for tabel
Efter at have fanget operationId fra svaret fra load to tables API-anmodningen, udfør følgende forespørgsel:
Request:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Response:
{
"parameters": {
"workspaceId": "{workspaceId}",
"itemId": "{lakehouseId}",
"jobInstanceId": "{operationId}"
},
"responses": {
"200": {
"body": {
"id": "{operationId}",
"itemId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7",
"jobType": "DefaultJob",
"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
}
}
}
}
Mulig handlingsstatus for tabelvedligeholdelse:
- NotStarted – Jobbet er ikke startet
- InProgress – igangværende job
- Fuldført - jobbet er fuldført
- Mislykket - jobbet mislykkedes
- Annulleret - job annulleret
- Deduped – Der kører allerede en forekomst af samme jobtype, og denne jobforekomst springes over