AWS Получение данных в реальном времени - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть приложение, которое должно считывать данные из таблицы AWS dynamicodb каждые 5 секунд.В настоящее время я получаю данные с помощью лямбды, а затем возвращаю данные из динамодб обратно пользователю.

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

Важное уточнение заключается в том, что мое приложение находится вне AWS и имеет доступ только кAWS DynamodB для получения данных (с помощью простого http-запроса, созданного с помощью C #).

Есть ли способ получить уведомление для моего приложения, когда новые данные вставляются в DynamodB?

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

Просто добавьте что-нибудь поверх ответа @ john-rotenstein:

После того, как вы правильно сконфигурировали функцию Lambda для запуска по событию из потока DynamoDB, вы можете сделать так, чтобы ваша функция Lambda уведомляла вашу сеть.Применение через HTTP-запрос.

Другой вариант - использовать Lambda, чтобы поместить это уведомление в очередь, которую вы можете использовать вне AWS, и затем ваш код C # будет потребителем этой очереди.Есть несколько возможностей уведомить ваше приложение, вам просто нужно увидеть, какое из них является лучшим / наиболее экономически эффективным для вашего текущего сценария.

0 голосов
/ 21 февраля 2019

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

Если вы запрашиваете таблицу каждые 5 секунд, это будет стоить вам $ 0,25 каждые 2 месяца.

Это предполагает, что ваша таблица имеетпо запросу, и запрос возвращает данные размером менее 4 КБ.

https://aws.amazon.com/dynamodb/pricing/on-demand/

0 голосов
/ 21 февраля 2019

Обновление данных в DynamoDB может инициировать поток DynamoDB, который может запускать функцию лямбда AWS.

Функция лямбда может каким-то образом уведомить ваше приложение.

См .: Потоки DynamoDB и лямбда-триггеры AWS

...