Зачем использовать SNS для запуска лямбда-функции, а не шлюза API? - PullRequest
0 голосов
/ 11 декабря 2018

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

Лично я думаю, что позволить шлюзу API сделать это намного более гибко, чем использование SNS.Любая хорошая разработка, почему это сделать?Получу ли я какие-либо улучшения производительности или стоимости, если я использую SNS для запуска функции?

1 Ответ

0 голосов
/ 11 декабря 2018

TLDR : выбор сводится к публикация-подписка против запрос-ответ моделей.

запрос-ответ:

  • Если вам нужно знать, что возвращает лямбда , вы должны вызвать лямбда синхронно и дождаться результата,

  • Это можно сделать через API-шлюз (из клиентских приложений) или напрямую вызывая Lambda синхронно (из других Lambdas).

  • Примерами являются типичные HTTP-запросы, API REST и т. Д.

Публикация-подписка :

  • Если вас не волнует, какое возвращаемое значение , вы можете вызвать Lambda async хронически и перейти на без ожиданиярезультат.

  • Когда что-то публикуется в теме SNS, запускается лямбда, которая подписывается на эту тему.

  • Издатель нене важно, что будут делать подписчики.

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

...