Del via


Paginering

Paginering refererer til praksisen med å dele opp et stort sett med data i mindre, håndterbare deler eller sider når du leverer dataene til et klientprogram. Det er en vanlig teknikk som brukes til å forbedre ytelsen og effektiviteten til API-forespørsler, spesielt når du arbeider med en stor mengde data. Paginering brukes også til å forhindre tap av data når det er for mye data til å vises i én del.

Hvordan vet jeg om en API er paginert?

Paginerte API-er for Microsoft Fabric inneholder disse parameterne.

  • continuationUri

  • continuationToken

Hvor finner jeg de paginerte parameterne?

Strukturen til et paginert API-svar inneholder continuationUri- og continuationToken-parametere og ser slik ut:

{
  "value": [
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  
      "displayName": "Lakehouse",
      "description": "A lakehouse used by the analytics team.",
      "type": "Lakehouse",
      "workspaceId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" 
    },
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  
      "displayName": "Notebook",
      "description": "A notebook for refining medical data analysis through machine learning algorithms.",
      "type": "Notebook",
      "workspaceId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" 
    }
  ],
  "continuationToken": "ABCsMTAwMDAwLDA%3D",
  "continuationUri": "https://api.fabric.microsoft.com/v1/workspaces/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/items?continuationToken=ABCsMTAwMDAwLDA%3D"
}

Hvordan brukes paginering i REST-API-ene for stoff?

Når du sender en forespørsel til en paginert API, mottar du et sett med poster, vanligvis under verdi egenskap. Postene inkluderer parameterne continuationUri og continuationToken. Med disse parameterne kan du hente det neste settet med poster ved hjelp av én av disse metodene:

  • Bruk continuationUri for å få neste forespørsel.

  • Bruk continuationToken som en spørringsparameter for å bygge din neste forespørsel.

Når alle postene er hentet, fjernes continuationUri- og continuationToken-parameterne fra svaret eller vises som null.

Kodeeksempel

I dette eksemplet oppretter du en klient og kaller listearbeidsområder API. Parameteren continuationToken brukes til å hente den neste paginerte delen av arbeidsområder, helt til den returnerer tom eller null.

using (HttpClient client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "<Your token>"); 
    string continuationToken = null; 
    var workspaces = new List<Workspace>(); 
    do 
    { 
        var requestUrl = "https://api.fabric.microsoft.com/v1/workspaces"; 
        if (!string.IsNullOrEmpty(continuationToken)) 
        { 
            requestUrl += $"?continuationToken={continuationToken}"; 
        } 
        HttpResponseMessage response = await client.GetAsync(requestUrl); 
        if (response.IsSuccessStatusCode) 
        { 

            // Parse the response JSON   
            var responseData = await response.Content.ReadAsStringAsync(); 
            var paginatedResponse = JsonConvert.DeserializeObject<PaginatedResponse<Workspace>>(responseData); 

            // Append the list of workspaces in the current retrieved page 
            workspaces.AddRange(paginatedResponse.Value); 

            // Check if there are more records to retrieve 
            continuationToken = paginatedResponse.ContinuationToken; 
        } 
        else 
        { 
            Console.WriteLine($"Error: {response.StatusCode}"); 
            break; 
        } 
    } while (!string.IsNullOrEmpty(continuationToken)); 
}