Как обрабатывать поток данных Kinesis без EC2 - PullRequest
0 голосов
/ 18 января 2019

Я хочу обрабатывать потоковые данные Kinesis без использования экземпляра EC2? Есть ли возможность сделать это т.е. через лямбда-функции и т.д?

1 Ответ

0 голосов
/ 18 января 2019

Да, вы можете использовать сервис Lambda для обработки потоковых данных Kinesis. Вам нужно создать лямбда-функцию для обработки данных (данные будут доступны через event, во-первых, параметр функции).

В случае потоковой передачи данных ваша лямбда-функция не вызывается как ответ на какое-либо событие. Вместо этого служба Lambda периодически проверяет Kinesis на наличие доступных данных, а затем вызывает вашу функцию.

Чтобы это произошло, вам нужно создать источник источника событий между вашей пользовательской лямбда-функцией и потоком Kinesis, где вы также можете указать размер пакета, который будет обрабатываться лямбда-выражением, и его начальную позицию.

Не забудьте создать правильную роль для вашей лямбда-функции, ей нужно иметь доступ к службе Kinesis, поэтому вам нужно что-то вроде AWSLambdaKinesisExecutionRole разрешений.

Еще одна вещь, которую необходимо учитывать, это размер пакета и сложность алгоритма обработки. Лямбда может работать только в течение ограниченного времени (в настоящее время вы можете указать не более 15 минут), после чего она автоматически прерывается AWS. В таком случае вам нужно будет использовать что-то еще, кроме лямбды, или разбить вашу лямбда-функцию на несколько более мелких.

...