AWS Kinesis - время первого события для каждого устройства - PullRequest
0 голосов
/ 03 сентября 2018

У нас есть мобильная игра, которая отправляет события на наш сервер. Затем мы пишем в Kinesis Firehose (который пишет в s3), используя Kinesis Agent. Одним из полей является device_id. Мы хотим иметь таблицу в DynamodB, в которой для каждого device_id мы запоминаем день первого воспроизведения (время первого события, которое мы получили для этого device_id). Это должно быть обновлено в режиме реального времени (или как можно ближе к реальному времени). Как мы должны это сделать? С лямбдой? С Kinesis Analytics? Любое другое решение?

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Я предвзят, поскольку работаю в этой компании, но это легко сделать с помощью Drools Kinesys Analytics. Просто имейте в виду, что вам нужно разделить на части, если у вас много пользователей, так как все должно храниться в памяти все время. И каждый осколок обрабатывается одним узлом.

0 голосов
/ 04 сентября 2018

Dynamodb не является поддерживаемой точкой назначения для Kinesis Firehose или Kinesis Data Analytics, поэтому здесь должен быть посредник, такой как Lambda. Два возможных сценария,

  • Вы можете использовать Data Analytics для записи своего потока в Kinesis DataStream. Затем используйте лямбду, чтобы добраться до динамод.

  • Поскольку вы уже пишете в S3 с помощью Firehose, сохраните текущую настройку и активируйте функцию Lambda, следя за S3, подробнее здесь,

    https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html

...