Κοινοποίηση μέσω


Σελιδοποίηση

Η σελιδοποίηση αναφέρεται στην πρακτική της διάσπασης ενός μεγάλου συνόλου δεδομένων σε μικρότερα, διαχειρίσιμα τμήματα ή σελίδες κατά την παράδοση των δεδομένων σε μια εφαρμογή προγράμματος-πελάτη. Είναι μια κοινή τεχνική που χρησιμοποιείται για τη βελτίωση της απόδοσης και της αποτελεσματικότητας των αιτήσεων API, ειδικά όταν αντιμετωπίζετε μεγάλο όγκο δεδομένων. Η σελιδοποίηση χρησιμοποιείται επίσης για την αποφυγή απώλειας δεδομένων όταν υπάρχουν πάρα πολλά δεδομένα για εμφάνιση σε ένα τμήμα.

Πώς μπορώ να γνωρίζω εάν ένα API είναι σελιδοποιημένου;

Τα σελιδοποιημένα API του Microsoft Fabric περιέχουν αυτές τις παραμέτρους.

  • continuationUri

  • continuationToken

Πού μπορώ να βρω τις σελιδοποιημένες παραμέτρους;

Η δομή μιας σελιδοποιημένης απόκρισης API περιέχει τις continuationUri και continuationToken παραμέτρους και μοιάζει κάπως έτσι:

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

Πώς χρησιμοποιείται η σελιδοποίηση στα API REST Fabric;

Όταν κάνετε μια αίτηση σε ένα σελιδοποιημένο API, λαμβάνετε ένα σύνολο εγγραφών, συνήθως κάτω από την ιδιότητα τιμής. Οι εγγραφές περιλαμβάνουν τις continuationUri και continuationToken παραμέτρους. Με αυτές τις παραμέτρους, μπορείτε να ανακτήσετε το επόμενο σύνολο εγγραφών χρησιμοποιώντας μία από αυτές τις μεθόδους:

  • Χρησιμοποιήστε continuationUri για να λάβετε την επόμενη αίτησή σας.

  • Χρησιμοποιήστε continuationToken ως παράμετρο ερωτήματος για να δημιουργήσετε την επόμενη αίτησή σας.

Μόλις ανακτηθούν όλες οι εγγραφές, οι παράμετροι continuationUri και continuationToken καταργούνται από την απόκριση ή εμφανίζονται ως null.

Παράδειγμα κώδικα

Σε αυτό το παράδειγμα, δημιουργείτε ένα πρόγραμμα-πελάτη και καλείτε τους χώρους εργασίας λίστας API. Η παράμετρος continuationToken χρησιμοποιείται για τη λήψη του επόμενου σελιδοποιημένου τμήματος χώρων εργασίας, μέχρι να επιστρέψει κενό ή 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)); 
}