Kinesis stream для AWS лямбда - PullRequest
       11

Kinesis stream для AWS лямбда

0 голосов
/ 28 июня 2019

В настоящее время я использую потоки DynamoDB и с нетерпением жду перехода к потокам Kinesis, поскольку хочу получить контроль над количеством записей, которые мне нравится обрабатывать из потоков.

Я читал о потоках Кинезиса и лямбде. Есть много статей о потоках Kinesis и EC2, где несколько потребителей, KCL и т. Д.

Все, что я хотел бы знать, это то, что, если я пойду с лямбдой для потока Kinesis, какое поведение ожидается?

  • Как и в случае с потоками «Динамо», когда в Kinesis есть записи в потоках, лямбда запускается с кучей записей в событии?
  • Всякий раз, когда в потоке Kinesis есть записи, запускается лямбда, и лямбда может продолжить и прочитать осколки, чтобы получить записи и обработать их дальше.

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

Может кто-нибудь объяснить, как я могу получить контроль над потоками Kinesis в Lambda?

1 Ответ

0 голосов
/ 28 июня 2019

Вы можете подписать лямбду на поток Kinesis.Когда вы подписываетесь, вы можете указать размер партии, от 1 до 1000, насколько я помню.Лямбда будет вызываться для каждого сегмента в потоке, когда есть доступные записи вплоть до размера пакета.Если лямбда-ошибки (например, возвращает ошибку или время ожидания), он будет повторен с теми же данными.Он будет повторяться до тех пор, пока не будет выполнено успешное выполнение или не истечет срок записи.Лямбда будет вызываться примерно один раз в секунду на осколок, если есть доступные записи.Лямбда вызывается с любыми доступными записями вплоть до размера пакета.

Будет только один параллельный лямбда-вызов на шард.Это необходимо для упорядочения записей внутри сегмента.

Как правило, поведение потоков Kinesis такое же, как и для потоков DynamoDB.

...