2016-03-20 4 views
1

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

После исследования, похоже, единственный способ опубликовать SNS через Javsacript SDK является auth thru google/facebook или AWS Cognito. Я бы хотел, чтобы пользователи (точнее, события) могли нажимать без auth'ng, так что это не вариант.

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

Другими словами, это якобы имитирует REST API, не так ли?

Единственный недостаток, который я могу придумать, - это злонамеренный спам SNS. Я знаю, что AWS API позволяет регулировать скорость, но не может найти что-то подобное в SNS.

Итак, 2 связан вопрос:

  1. Есть ли способ, чтобы предотвратить вредоносный спам на тему SNS?

  2. Существуют ли другие недостатки использования SNS вместо AWS API для вызова lambdas?

ответ

2

В какой очереди вы хотите попасть из темы SNS? Я думаю, что вы можете запутать SNS с SQS.

Я не вижу преимущества использования SNS->Lambda в данном случае против API->Lambda. Однако я вижу несколько недостатков использования SNS в этом случае, поскольку он добавляет ненужное усложнение, а также открывает ненужные угрозы безопасности.

Вы в буквальном смысле не получаете преимущества от использования SNS здесь, в то время как вы получаете несколько преимуществ при использовании шлюза API, таких как ограничение скорости и поддержка ключа API. Не говоря уже о том, что конечные точки API Gateway имеют , намного больше доступа к браузеру, чем темы SNS. Это предполагаемое использование API Gateway, зачем пытаться взломать какой-либо метод с помощью SNS и жестко закодированных ключей AWS?

+0

благодарите знак! Я думал о SNS, так как SNS будет повторять попытку доставки, если вызов лямбды будет отменен b/c ограничений параллелизма или других причин отказа выполнения. я ошибался, что это было уникально для SNS, хотя, как кажется, сама лямбда будет повторять функции и обеспечивает некоторый уровень гарантии исполнения. в конечном счете, хотя, я думаю, что это был всего лишь случай преждевременной оптимизации с моей стороны. – Brandon