Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Концепции API Yandex.Cloud
  • Основные принципы
  • Ресурсы
    • Идентификация ресурсов
    • Стандартные поля
  • Методы API
    • Обзор
    • Эндпоинты API
    • Стандартные методы
    • Дополнительные методы
    • Пагинация
    • Обработка ошибок
  • Работа с операциями
    • Обзор
    • Асинхронность
    • Объект Operation
    • Идемпотентность
  1. Методы API
  2. Пагинация

Пагинация

  • Примеры
    • gRPC
    • REST

Некоторые методы API поддерживают пагинацию. Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам. В основном пагинация используется для метода получения списков — List*.

Чтобы получить нужную страницу с результатами, в запросе следует передать параметры:

  • page_token — токен страницы с результатами. Токен следующей страницы можно получить в поле next_page_token при получении списка ресурсов (см. пример ниже).

  • page_size — количество результатов на странице. Доступные значения: от 0 до 1000. Значение по умолчанию: 100.

Примеры

gRPC

gRPC-описание метода List для дисков:

 // Метод возвращает список дисков в заданном каталоге.
 rpc List (ListDisksRequest) returns (ListDisksResponse) {
   option (google.api.http) = { get: "/compute/v1/disks" };
 }
 message ListDisksRequest {
   // Идентификатор каталога.
   // Обязательное поле.
   string folder_id = 1;

   // Максимальное количество результатов на странице.
   int64 page_size = 2;

   // Токен запрашиваемой страницы с результатами.
   string page_token = 3;
 }

 message ListDisksResponse {
   // Список дисков.
   repeated Disk disks = 1;

   // Токен следующей страницы.
   string next_page_token = 2;
 }

REST

Пример REST запроса на получение списка дисков в каталоге:

GET https://compute.api.cloud.yandex.net/compute/v1/disks?folderId=a3s17h9sbq5asdgss12&pageToken=1acdeb26078146e6

Ответ:

{
  "disks": [
    {
      "folderId": "de0m97h0gbq0foeuis03",
      "createdAt": "2018-08-09T12:54:53+00:00",
      "id": "de019dv504rmhoinn3nk",
      "name": "development",
      "zoneId" : "ru-central1-a",
      "typeId" : "network-nvme",
      "size" : 5368709120 
    },
    ...
  ],
  "nextPageToken": "ae08rgjd5smu4bq5n1o4"
}
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»