Как прочитать самую старую необработанную запись в потоке данных Kinesis - PullRequest
0 голосов
/ 01 июня 2018

Я новичок в AWS и хотел бы получить некоторые рекомендации.

Я хочу обработать самую старую необработанную запись , но я не могу правильно понять параметры.

Текущая архитектура

Для итератора шарда:

  • Я пробовал TRIM_HORIZON, который дал мне все записи с самого начала.
  • Я также попробовал ПОСЛЕДНЮЮ, которая дала мне только одну последнюю запись.

Не уверен, помогут ли эти дополнительные детали, но ...

  • Я ставлю своисобственные записи через Lambda на консоли AWS
  • Я отлаживаю это, просматривая файлы журналов в CloudWatch
  • Я получаю записи через итератор сегментов (TRIM_HORIZON и LATEST)
  • Мой лимит getRecords установлен на 100

Заранее спасибо!

1 Ответ

0 голосов
/ 06 июня 2018

Нет «самой старой необработанной записи», так как Kinesis не знает, что вы обработали (например, вы, возможно, получили записи, но ничего с ними не сделали).

Если вы используете Kinesis, я настоятельно рекомендую использовать Клиентская библиотека Kinesis , которая имеет концепцию контрольных точек - это, по сути,хорошая оболочка поверх ShardIterator AFTER_SEQUENCE_NUMBER , что переводится как «самая старая непроверенная запись» - или настолько близко, насколько вы доберетесь до «самой старой необработанной записи».

(Вы всегда можете реализовать эту логику самостоятельно, но почему бы не повторно использовать работу, которую Amazon уже сделал для вас?)

...