Aracılığıyla paylaş


Sayfalandırma

Sayfalandırma, verileri bir istemci uygulamasına teslim ederken büyük bir veri kümesini daha küçük, yönetilebilir öbeklere veya sayfalara ayırmayı ifade eder. Özellikle büyük miktarda veriyle ilgilenirken API isteklerinin performansını ve verimliliğini artırmak için kullanılan yaygın bir tekniktir. Sayfalandırma, bir öbekte görüntülenecek çok fazla veri olduğunda veri kaybını önlemek için de kullanılır.

BIR API'nin sayfalandırılmış olup olmadığını nasıl anlarım?

Microsoft Fabric sayfalandırılmış API'leri bu parametreleri içerir.

  • continuationUri

  • continuationToken

Sayfalandırılmış parametreleri nerede bulabilirim?

Sayfalandırılmış API yanıtının yapısı continuationUri ve continuationToken parametrelerini içerir ve şöyle görünür:

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

Sayfalandırma, Doku REST API'lerinde nasıl kullanılır?

Sayfalandırılmış API'ye istekte bulunursanız, genellikle değeri özelliği altında bir kayıt kümesi alırsınız. Kayıtlar continuationUri ve continuationToken parametrelerini içerir. Bu parametrelerle aşağıdaki yöntemlerden birini kullanarak sonraki kayıt kümesini alabilirsiniz:

  • Sonraki isteğinizi almak için continuationUri kullanın.

  • Sonraki isteğinizi oluşturmak için sorgu parametresi olarak continuationToken kullanın.

Tüm kayıtlar alındıktan sonra continuationUri ve continuationToken parametreleri yanıttan kaldırılır veya null olarak görünür.

Kod örneği

Bu örnekte bir istemci oluşturacak ve listesi çalışma alanlarını API'sini çağıracaksınız. continuationToken parametresi, boş veya null döndürene kadar çalışma alanlarının sonraki sayfalandırılmış öbeklerini almak için kullanılır.

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