Как вызвать событие каждый раз, когда уведомление отправляется на мой AWS SQS адресат? - PullRequest
2 голосов
/ 16 марта 2020

Я использую AWS SQS для API заказов Amazon MWS. Каждый раз, когда кто-то заказывает аккаунт продавца, который добавил меня в качестве своего разработчика, Amazon отправляет уведомление в мое AWS приложение SQS. Я могу оттуда получать уведомления. Но для этого мне нужно будет создать планировщик для извлечения уведомлений. Могу ли я использовать любой другой AWS в качестве прослушивателя, чтобы запускать собственную службу каждый раз, когда Amazon отправляет уведомление о моем месте назначения? Могу ли я использовать лямбда-функции для этого? Я новичок в AWS, поэтому я знаю только немного об этом.

Ответы [ 2 ]

3 голосов
/ 16 марта 2020

Да, вы можете использовать лямбду. В частности, вы можете настроить Отображение источника событий между вашей очередью SQS и лямбда-функцией.

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

Лямбда-сервис заботится о вытягивании. Он также удалит сообщение из очереди, если ваша функция завершится успешно. Таким образом, вам не нужно явно удалять сообщения из очереди.

1 голос
/ 16 марта 2020

Есть много способов сделать это, но если вы хотите современный, безсерверный подход, я бы настроил лямбда-функцию, которая выполняет опрос SQS за вас, как сказал Марцин выше. Затем вы можете делать с сообщением все, что вам нужно, будь то чтение MWS для получения дополнительной информации о заказе или синхронизация c с вашими собственными системами. Это действительно довольно гибкий.

...