Del via


Paginering

Sideinddeling refererer til den praksis, at et stort datasæt opdeles i mindre, håndterbare segmenter eller sider, når dataene leveres til et klientprogram. Det er en almindelig teknik, der bruges til at forbedre ydeevnen og effektiviteten af API-anmodninger, især når du arbejder med en stor mængde data. Sideinddeling bruges også til at forhindre tab af data, når der er for mange data til at blive vist i ét afsnit.

Hvordan ved jeg, om en API er sideinddelt?

Sideinddelte API'er til Microsoft Fabric indeholder disse parametre.

  • continuationUri

  • continuationToken

Hvor kan jeg finde de sideinddelte parametre?

Strukturen af et sideinddelt API-svar indeholder parametrene continuationUri og continuationToken og ser sådan ud:

{
  "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 bruges sideinddeling i Fabric REST API'er?

Når du foretager en anmodning til en sideinddelt API, modtager du et sæt poster, som regel under egenskaben værdi. Posterne omfatter parametrene continuationUri og continuationToken. Med disse parametre kan du hente det næste sæt poster ved hjælp af en af følgende metoder:

  • Brug continuationUri til at få din næste anmodning.

  • Brug continuationToken som en forespørgselsparameter til at oprette din næste anmodning.

Når alle posterne er hentet, fjernes parametrene continuationUri og continuationToken fra svaret eller vises som null.

Kodeeksempel

I dette eksempel skal du oprette en klient og kalde listearbejdsområder API. Parameteren continuationToken bruges til at hente det næste sideinddelte afsnit af arbejdsområder, indtil 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)); 
}