Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vás provede běžnými scénáři pro správu lakehouse programově pomocí rozhraní MICROSOFT FABRIC REST API. Každá část obsahuje požadavek HTTP a odpověď pro konkrétní úlohu, abyste mohli přizpůsobit vzor automatizačním skriptům nebo aplikacím.
Úplnou specifikaci včetně všech parametrů, požadovaných oprávnění, schémat požadavků a kódů chyb najdete v referenčních informacích k rozhraní REST API lakehouse.
Požadavky
-
Získejte token Microsoft Entra pro službu Fabric a zahrňte ho do
Authorizationhlavičky každého požadavku. - Nahraďte
{workspaceId}a{lakehouseId}ve vybraných příkladech vlastními hodnotami.
Vytvořit, aktualizovat a odstranit lakehouse
Následující příklady ukazují, jak zřídit nový lakehouse, přejmenovat ho, načíst jeho vlastnosti (včetně automaticky zřízeného koncového bodu analýzy SQL) a odstranit ho. Úplný seznam parametrů a další příklady (například vytvoření lakehouse s podporou schématu nebo vytvoření s definicí) najdete v referenčních informacích k rozhraní API Lakehouse Items.
Vytvořte lakehouse
Pokud chcete vytvořit lakehouse v pracovním prostoru, odešlete požadavek POST s názvem pro zobrazení. Infrastruktura Fabric automaticky zprovozní SQL analytický koncový bod vedle lakehouse.
Prosba
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses
{
"displayName": "demo"
}
odpověď
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Aktualizace lakehouse
Pokud chcete přejmenovat lakehouse nebo aktualizovat jeho popis, odešlete požadavek PATCH s novými hodnotami.
Prosba
PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
{
"displayName": "newname",
"description": "Item's New description"
}
odpověď
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "newname",
"description": "Item's New description",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Získání vlastností lakehouse
Načtěte metadata lakehouse, včetně cest OneLake a připojovacího řetězce koncového bodu pro SQL analýzu.
Prosba
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
odpověď
{
"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"
}
}
}
Odstranit lakehouse
Odstraněním lakehouse odstraníte jeho metadata a data. Klávesové zkratky se odeberou, ale data v cíli zástupce se zachovají.
Prosba
DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
odpověď
Tělo odpovědi je prázdné.
Vyjmenujte tabulky v lakehouse.
Pokud chcete načíst všechny tabulky Delta v Lakehouse — například k sestavení datového katalogu nebo ověření nasazení — použijte koncový bod Tabulky seznamu. Úplný seznam parametrů najdete v referenčních informacích k rozhraní Api pro tabulky.
Prosba
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables
odpověď
{
"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"
}
]
}
Rozhraní API List Tables podporuje stránkování. Předejte maxResults jako parametr dotazu pro řízení velikosti stránky. Odpověď zahrnuje continuationUri funkci, kterou můžete zavolat k načtení další stránky.
Stránkování prostřednictvím velkého seznamu tabulek
Prosba
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables?maxResults=1
odpověď
{
"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"
}
]
}
Načtení souboru do tabulky Delta
Pokud chcete převést soubory CSV nebo Parquet na tabulky Delta bez psaní kódu Sparku, použijte rozhraní API pro načtení tabulky. Jedná se o programový ekvivalent funkce Načíst do stolů na domovské stránce jezerního domu. Úplný seznam parametrů najdete v referenčních informacích k rozhraní API pro načtení tabulky.
Operace je asynchronní. Postupujte následovně:
- Nahrajte soubory do oddílu Soubory lakehouse pomocí rozhraní ONELake API.
- Odešlete požadavek na načtení.
- Průběžně zjišťujte stav operace, dokud není dokončena.
Následující příklady předpokládají, že soubory jsou už nahrané.
Odešlete požadavek na načtení
Tento příklad načte soubor CSV pojmenovaný demo.csv do tabulky s názvem demo, přepíše všechna existující data. Nastavte mode na Append, abyste místo toho přidali řádky. Nastavte pathType na Folder pro načtení všech souborů ve složce.
Prosba
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"
}
}
Odpověď neobsahuje text. Místo toho záhlaví obsahuje identifikátor URI, Location který použijete k dotazování stavu operace. Identifikátor URI se řídí tímto vzorem:
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
Dotazování stavu operace načítání
Pomocí operationId ze záhlaví Location zkontrolujte průběh:
Prosba
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
odpověď
{
"Status": 3,
"CreatedTimeUtc": "",
"LastUpdatedTimeUtc": "",
"PercentComplete": 100,
"Error": null
}
Možný stav operace pro načtení do tabulek:
- 1. Operace se nespustila
- 2. Běží
- 3. Úspěch
- 4. Selhání
Spuštění údržby tabulek v tabulce Delta
Pro optimalizaci Delta tabulek — aplikací bin-compaction, V-order, Z-Order nebo VACUUM — bez použití Lakehouse Explorer použijte Table Maintenance API. Toto je programový ekvivalent funkce údržby tabulky. Úplný seznam parametrů najdete v referenčních informacích k rozhraní API pro údržbu tabulek.
Operace je asynchronní. Postupujte následovně:
- Odešlete žádost o údržbu tabulky.
- Průběžně zjišťujte stav operace, dokud není dokončena.
Odeslání žádosti o údržbu tabulky
Tento příklad aplikuje optimalizaci V-pořadí a Z-řád na sloupec tipAmount a spustí VACUUM s periodou zadržení sedm dní a jedna hodina.
Prosba
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"
}
}
}
Odpověď neobsahuje text. Hlavička Location obsahuje identifikátor URI, který použijete k dotazování stavu operace:
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Koncový bod spuštění má obor lakehouse, ale dotazování instance úlohy používá koncový bod úlohy obecné položky (/items/{itemId}/jobs/instances/{jobInstanceId}) záměrně.
Důležité
Nastavení doby uchovávání kratší než sedm dnů má vliv na rozdílové časové cestování a může způsobit selhání čtenáře nebo poškození tabulky, pokud se snímky nebo nepotvrzené soubory stále používají. Z tohoto důvodu údržba tabulek v uživatelském rozhraní Fabric a v rozhraních REST API ve výchozím nastavení odmítá doby uchovávání kratší než sedm dní. Pokud chcete povolit kratší interval, nastavte spark.databricks.delta.retentionDurationCheck.enabled v false nastavení pracovního prostoru. Úlohy údržby tabulek pak tuto konfiguraci používají během provádění.
Zjistit stav údržby tabulky
Pomocí operationId ze záhlaví Location zkontrolujte stav úlohy.
Prosba
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Tato trasa dotazování záměrně používá items místo lakehouses.
odpověď
{
"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
}
Možný stav operace údržby tabulek:
- NotStarted – Úloha nebyla zahájena
- InProgress – probíhá úloha
- Dokončeno – Úloha byla dokončena.
- Neúspěšné – Úloha se nezdařila.
- Zrušeno – Úloha byla zrušena.
- Odstraněno – Instance stejného typu úlohy je již spuštěná a tato instance úlohy se přeskočí.