Partager via


Numérotation des pages

La pagination fait référence à la pratique de fractionnement d’un grand ensemble de données en blocs ou pages plus petits, gérables lors de la remise des données à une application cliente. Il s’agit d’une technique courante utilisée pour améliorer les performances et l’efficacité des requêtes d’API, en particulier lors de la gestion d’une grande quantité de données. La pagination est également utilisée pour empêcher la perte de données lorsqu’il y a trop de données à afficher en un bloc.

Comment savoir si une API est paginée ?

Les API paginées Microsoft Fabric contiennent ces paramètres.

  • continuationUri

  • continuationToken

Où puis-je trouver les paramètres paginés ?

La structure d'une réponse d'API paginée contient les paramètres continuationUri et continuationToken et ressemble à ceci :

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

Comment la pagination est-elle utilisée dans les API REST Fabric ?

Lorsque vous effectuez une requête à une API paginée, vous recevez un ensemble d’enregistrements, généralement sous la propriété value. Les enregistrements incluent les paramètres continuationUri et continuationToken. Avec ces paramètres, vous pouvez récupérer le jeu d’enregistrements suivant à l’aide de l’une des méthodes suivantes :

  • Utilisez continuationUri pour obtenir votre prochaine requête.

  • Utilisez continuationToken comme paramètre de requête pour générer votre requête suivante.

Une fois que tous les enregistrements sont récupérés, les paramètres continuationUri et continuationToken sont supprimés de la réponse ou apparaissent comme null.

Exemple de code

Dans cet exemple, vous créez un client et appelez l’API des espaces de travail de liste . Le continuationToken paramètre est utilisé pour obtenir la tranche paginée suivante d’espaces de travail, jusqu’à ce qu’il renvoie une valeur vide ou nulle.

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