Jaa


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:

  1. Lataa tiedostoja ja kansioita Lakehousen Tiedostot-osioon OneLake-ohjelmointirajapintojen avulla.
  2. Lähetä lataus taulukoihin -ohjelmointirajapintapyyntö.
  3. 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:

  1. Lähetä taulukon ylläpidon ohjelmointirajapintapyyntö.
  2. 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