Delen via


Pagina-indeling

Paginering verwijst naar de praktijk van het opsplitsen van een grote set gegevens in kleinere, beheerbare segmenten of pagina's bij het leveren van de gegevens aan een clienttoepassing. Het is een veelgebruikte techniek om de prestaties en efficiëntie van API-aanvragen te verbeteren, met name bij het verwerken van een grote hoeveelheid gegevens. Paginering wordt ook gebruikt om gegevensverlies te voorkomen wanneer er te veel gegevens zijn om in één segment weer te geven.

Hoe weet ik of een API is gepagineerd?

Gepagineerde API's van Microsoft Fabric bevatten deze parameters.

  • continuationUri

  • continuationToken

Waar vind ik de gepagineerde parameters?

De structuur van een gepagineerd API-antwoord bevat de parameters continuationUri en continuationToken en ziet er als volgt uit:

{
  "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"
}

Hoe wordt paginering gebruikt in de Rest API's van Fabric?

Wanneer u een verzoek doet bij een gepagineerde API, ontvangt u een reeks records, meestal onder de waarde eigenschap. De records bevatten de parameters continuationUri en continuationToken. Met deze parameters kunt u de volgende set records ophalen met behulp van een van deze methoden:

  • Gebruik continuationUri om uw volgende aanvraag te krijgen.

  • Gebruik continuationToken als queryparameter om uw volgende aanvraag te maken.

Zodra alle records zijn opgehaald, worden de parameters continuationUri en continuationToken uit het antwoord verwijderd of weergegeven als null.

Codevoorbeeld

In dit voorbeeld maakt u een client en roept u de lijstwerkruimten aan API. De parameter continuationToken wordt gebruikt om het volgende gepagineerde segment van werkruimten op te halen, totdat deze leeg of null retourneert.

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)); 
}