Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Streams
  • Управление доступом
  • Правила тарификации
    • Обзор
    • Все методы
      • CreateStream
      • DecreaseStreamRetentionPeriod
      • DeleteStream
      • DescribeStream
      • IncreaseStreamRetentionPeriod
      • GetRecords
      • GetShardIterator
      • ListStreams
      • PutRecord
      • PutRecords
      • UpdateShardCount
    • Общие ошибки
    • Примеры
  • Вопросы и ответы

В этой статье:

  • Запрос
  • Параметры запроса
  • Ответ
  • Параметры ответа
  • Ошибки
  1. HTTP API, совместимый с Amazon Kinesis Data Streams
  2. Методы
  3. GetRecords

GetRecords

Статья создана
Yandex Cloud
Обновлена 14 января 2022 г.
  • Запрос
    • Параметры запроса
  • Ответ
    • Параметры ответа
  • Ошибки

Получает сообщения из сегмента потока данных.

Значение ShardIterator определяет позицию в сегменте, с которой будет начато последовательное чтение сообщений. Если в сегменте нет новых сообщений, GetRecords возвращает пустой список. В этом случае повторите вызов GetRecords.

При циклическом чтении сообщений из потока нужно использовать GetShardIterator, чтобы получить итератор сегмента для использования в первом запросе GetRecords. Для последующих чтений можно использовать значение NextShardIterator, которое возвращается в ответе GetRecords. Если сегмент был закрыт, GetRecords возвращает null в значении NextShardIterator.

Размер данных, которые возвращаются GetRecords ограничен 2 МБ/с, метод можно вызывать не чаще, чем 5 раз в секунду. Если в результате вызова GetRecords возвращается большее количество данных, то последующие вызовы будут завершаться с ошибкой ProvisionedThroughputExceededException, пока пропускная способность не вернется к значению 2 МБ/с. Например, если в результате запроса вернулось 10 МБ/с, последующие запросы в течение 5 секунд будут завершаться с ошибкой.

Чтобы определить, успевает ли ваше приложение обрабатывать все поступающие в сегмент данные, можно использовать значение MillisBehindLatest в ответе.

ЗапросЗапрос

Запрос содержит данные в формате JSON.

{
  "Limit": number,
  "ShardIterator": "string"
}

Параметры запросаПараметры запроса

Параметр Описание
Limit Максимальное количество возвращаемых записей.

Тип: Целое число.
Возможные значения 1 - 10000.
Обязательный: Нет.
ShardIterator Позиция в сегменте, с которой будет начато последовательное чтение сообщений. Значение итератора определяется порядковым номером сообщения в сегменте.

Тип: Строка.
Размер: 1-512 символов.
Обязательный: Да.

ОтветОтвет

В случае успеха возвращаются HTTP-ответ с кодом 200 и данные в формате JSON.

{
  "ChildShards": [{
    "HashKeyRange": {
      "EndingHashKey": "string",
      "StartingHashKey": "string"
    },
    "ParentShards": ["string"],
    "ShardId": "string"
  }],
  "MillisBehindLatest": number,
  "NextShardIterator": "string",
  "Records": [{
    "ApproximateArrivalTimestamp": number,
    "Data": blob,
    "EncryptionType": "string",
    "PartitionKey": "string",
    "SequenceNumber": "string"
  }]
}

Параметры ответаПараметры ответа

Параметр Описание
ChildShards Список дочерних сегментов текущего сегмента. Возвращается при достижении конца текущего сегмента.
Тип: Массив.
Обязательный: Нет.
MillisBehindLatest Количество миллисекунд, на которое результаты, возвращаемые GetRecords, отстают от последних записанных данных в поток. Значение 0 означает, что возвращаются последние записанные данные без отставаний.Тип: Длинное целое число.
Минимальное значение: 0.
Обязательный: Нет.
NextShardIterator Итератор позиции в сегменте, с которой можно начать следующее последовательное чтение.
Если сегмент больше не существует, возвращается значение null.Тип: Строка.
Размер: 1-512 символов.
Обязательный: Да.
Records Сообщения, которые извлекаются из сегмента.
Тип: Массив.
Обязательный: Нет.

ОшибкиОшибки

Параметр Описание Код HTTP
ExpiredIteratorException Время жизни указанного итератора истекло. 400
InvalidArgumentException Недопустимый аргумент. Дополнительные сведения смотрите в сообщении об ошибке. 400
ProvisionedThroughputExceededException Недостаточно пропускной способности для выполнения запроса. 400
ResourceNotFoundException Запрошенный ресурс не найден. 400

Могут возникать ошибки, общие для всех методов.

Была ли статья полезна?

Предыдущая
IncreaseStreamRetentionPeriod
Следующая
GetShardIterator
Проект Яндекса
© 2025 ООО «Яндекс.Облако»