Можно ли прослушивать изменения в DynamoDB без опроса? - PullRequest
1 голос
/ 22 октября 2019

У меня есть служба (развернутая в ECS), которая должна прослушивать и реагировать на вставки в таблицу DynamoDB.

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

Я проверил потоки DynamoDB, но не смог найтиСпособ подписки на изменения тоже есть. Есть проект JS , который делает нечто подобное, но у него есть настройка "interval to poll" ...

Можно ли прослушивать изменения без опроса? Если да, то как?

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Это как раз то, для чего предназначены DynamoDB Streams. Вы пробовали этот урок , чтобы посмотреть, поможет ли он вам стать примером? Да, он есть в Lambda, но его можно легко развернуть в сценарии где-то еще, как вы пытаетесь это сделать.

0 голосов
/ 24 октября 2019

Кажется, это невозможно. Это видео очень хорошо объясняет концепции, и оказывается, что даже Lambda действительно не "срабатывает" - это опрашивает потоки DynamoDB каждые 250 мс.

Если задержка в 1/4 с не является проблемой, можно настроить перемещение событий следующим образом:

DynamoDB => DynamoDB Streams => Lambda => IOT => your app (via MQTT client or websockets)

Хотя это выглядит немного запутанным. Тем не менее, я хотел бы, чтобы меня это доказало, поэтому, пожалуйста, прокомментируйте, если я что-то упустил.

...