Lakehousen hallinta Microsoft Fabricissa REST-ohjelmointirajapinnan avulla
Microsoft Fabric Rest -ohjelmointirajapinta tarjoaa Fabric-kohteen CRUD-toiminnon palvelupäätepisteen. Seuraavat toiminnot ovat käytettävissä Lakehouse-järjestelmässä:
Toimi | Kuvaus |
---|---|
Create | Luo työtilaan lakehousen. SQL-analytiikan päätepiste valmistellaan yhdessä Lakehousen kanssa. |
Päivitä | Päivittää Lakehousen nimen ja SQL-analytiikan päätepisteen. |
Delete | Poistaa Lakehousen ja siihen liittyvän SQL-analytiikan päätepisteen. |
Ominaisuuksien hankkiminen | Hakee Lakehousen ominaisuudet ja SQL-analytiikan päätepisteen. |
Luettelotaulukot | Listaa pöydät Lakehousessa. |
Taulukon lataaminen | Luo delta-taulukot CSV- ja parquet-tiedostoista ja -kansioista. |
Taulukon ylläpito | Käytä bin-compactionia, V-tilausta ja kirjaamattomien ja vanhojen tiedostojen poistamista. |
Edellytykset
Fabric REST -ohjelmointirajapinnan käyttämiseksi tarvitset ensin Microsoft Entra -tunnuksen Fabric-palveluun. Käytä sitten tunnusta API-kutsun valtuutusotsikossa.
Microsoft Fabric Rest -ohjelmointirajapinta määrittää yhtenäisen päätepisteen toiminnoille. Päätepiste on
https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
. Paikkamerkit{workspaceId}
ja{lakehouseId}
tulee korvata sopivilla arvoilla, kun komennot annetaan esimerkissä tässä artikkelissa.
Lakehouse CRUD
Seuraavan ohjelmointirajapinnan avulla voit luoda, muokata ja poistaa Lakehousen työtilan sisältä.
Luo lakehouse
Pyytää:
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
{
"displayName": "demo",
"type": "Lakehouse"
}
Vastaus:
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "demo",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Lakehousen päivittäminen
Päivitä kuvaus ja nimeä Lakehouse uudelleen.
Pyytää:
PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/dc39f96a-47d7-4c2d-9358-740f50c0aa31
{
"displayName": "newname",
"description": "Item's New description"
}
Vastaus:
{
"id": "56c6dedf-2640-43cb-a412-84faad8ad648",
"type": "Lakehouse",
"displayName": "newname",
"description": "",
"workspaceId": "fc67689a-442e-4d14-b3f8-085076f2f92f"
}
Hae majoituspaikkoja Lakehousessa
Pyytää:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}
Vastaus:
{
"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"
}
}
}
Lakehousen poistaminen
Kun poistat Lakehouse-järjestelmän, objektin metatiedot ja tiedot poistetaan. Pikakuvakeviittaukset poistetaan, mutta tiedot säilytetään kohteessa.
Pyytää:
DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}
Vastaus: tyhjä
Luetteloi taulukot kohteessa Lakehouse
Pyytää:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables
Vastaus:
{
"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"
}
]
}
Luettelotaulukoiden ohjelmointirajapinta tukee sivutusta. Anna maxResults sivukohtaisena parametrina pyynnölle, ja ohjelmointirajapinta vastaa jatkumis-URI:lla, jonka avulla saadaan seuraava tulossivu.
Sivutusesimerkki
Pyytää:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables?maxResults=1
Vastaus:
{
"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"
}
]
}
Lataa taulukoihin
Tämä ohjelmointirajapinta tuo esiin Lataa taulukoihin -lakehouse-ominaisuuden ominaisuudet. Tämän ohjelmointirajapinnan avulla on mahdollista ladata CSV- ja parquet-tiedostoja uusiin tai olemassa oleviin Lake-taulukoihin Lakehousessa.
Tämä ohjelmointirajapinta on asynkroninen, joten tarvitaan kolme vaihetta:
- Lataa tiedostoja ja kansioita Lakehousen Tiedostot-osioon OneLake-ohjelmointirajapintojen avulla.
- Lähetä lataus taulukoihin -ohjelmointirajapintapyyntö.
- Seuraa toiminnon tilaa, kunnes se on valmis.
Seuraavissa osissa oletetaan, että tiedostot on jo ladattu.
Lataa taulukoihin -ohjelmointirajapinnan pyyntö
mode
Parametri tukee overwrite
ja append
toimintoja.
pathType
-parametri määritetty, jos ladataan yksittäisiä tiedostoja tai kaikkia tiedostoja määritetystä kansiosta.
parquet
Sekä CSV
että tuetaan tiedostoparametrinaformat
.
Tässä esimerkissä ladataan CSV-tiedosto, joka on nimetty demo.csv
aiemmin luotuun taulukkoon nimeltä demo
.
Pyytää:
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"
}
}
Vastausotsikko sisältää URI-uri:n asynkronisten toimintojen tilan kyselyälle. URI on vastausotsikon Sijainti-muuttujassa .
Sijainti-muuttuja sisältää URI:n seuraavasti: https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/32ad6d2a-82bb-420d-bb57-4620c8860373
. GUID-tunnus 32ad6d2a-82bb-420d-bb57-4620c8860373
on toimintotunnus, jonka avulla voi kysellä taulukoiden toimintojen lataamisen tilaa seuraavassa osiossa kuvatulla tavalla.
Taulukoihin lataamisen toimintojen valvonta
Kun olet tallentanut operationId:n taulukoiden ohjelmointirajapintapyyntöön ladatun vastauksen kautta, suorita seuraava pyyntö:
Pyytää:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}/operations/{operationId}
Vastaus:
{
"Status": 3,
"CreatedTimeUtc": "",
"LastUpdatedTimeUtc": "",
"PercentComplete": 100,
"Error": null
}
Taulukkoihin lataamisen mahdollinen toiminnon tila:
- 1 - Toimintoa ei aloitettu
- 2 – Käynnissä
- 3 - Onnistui
- 4 – Epäonnistui
Taulukon ylläpito
Tämä ohjelmointirajapinta sisältää Lakehouse-taulukon ylläpitoominaisuudet. Tämän ohjelmointirajapinnan avulla voit käyttää lokeron tiivistys-, V-järjestys- ja kirjaamattomia vanhojen tiedostojen puhdistusta.
Tämä ohjelmointirajapinta on asynkroninen, joten tarvitaan kaksi vaihetta:
- Lähetä taulukon ylläpidon ohjelmointirajapintapyyntö.
- Seuraa toiminnon tilaa, kunnes se on valmis.
Taulukon ylläpidon API-pyyntö
Tässä esimerkissä suoritetaan taulukon ylläpitotyö, joka soveltaa V-Order-tilausta taulukkoon ja käyttää samalla Z-Order-tilausta tipAmount
sarakkeeseen ja suorittaa VACUUM
toiminnon noudattaen seitsemää päivää ja yhtä tuntia.
Pyytää:
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances?jobType=TableMaintenance
{
"executionData": {
"tableName": "{table_name}",
"optimizeSettings": {
"vOrder": "true",
"zOrderBy": [
"tipAmount"
]
},
"vacuumSettings": {
"retentionPeriod": "7.01:00:00"
}
}
}
Vastausotsikko sisältää URI-uri:n asynkronisten toimintojen tilan kyselyälle. URI on vastausotsikon Sijainti-muuttujassa .
Sijainti-muuttuja sisältää URI:n seuraavasti: https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/f2d65699-dd22-4889-980c-15226deb0e1b
. GUID-tunnus f2d65699-dd22-4889-980c-15226deb0e1b
on toimintotunnus, jonka avulla voi kysellä käynnissä olevien taulukon ylläpitotoimintojen tilaa seuraavassa osiossa kuvatulla tavalla.
Taulukkojen ylläpitotoimintojen valvonta
Kun olet tallentanut operationId :n taulukoiden ohjelmointirajapintapyyntöön kohdistuvan kuormituksen vastauksesta, suorita seuraava pyyntö:
Pyytää:
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/jobs/instances/{operationId}
Vastaus:
{
"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
}
}
}
}
Taulukoiden ylläpidon mahdollinen käyttötila:
- NotStarted – Työtä ei aloitettu
- InProgress – keskeneräinen työ
- Valmis – Työ suoritettu
- Epäonnistui – työ epäonnistui
- Peruutettu – työ peruutettu
- Poistettu – Saman työtyypin esiintymä on jo käynnissä ja tämä työn esiintymä ohitetaan