Как отправить уведомление на несколько тем sns одновременно - PullRequest
0 голосов
/ 05 ноября 2019

У меня 9000 тем AWS SNS с более чем 1 миллионами подписчиков в каждой теме. Сейчас я перехожу к каждой теме, чтобы отправить push-сообщение, которое потребляет много ресурсов моей системы. Есть ли способ отправить сообщение сразу по всем темам? Каков наилучший подход к сценарию?

1 Ответ

1 голос
/ 06 ноября 2019

Невозможно подписать очереди Amazon SNS на очередь Amazon SNS, поэтому не существует готового метода для отправки одного сообщения в несколько очередей.

Я бы порекомендовал создать Лямбда-функция AWS , которая будет:

  • Получить список всех соответствующих очередей (на основе тега?)
  • Циклы и отправляет сообщение в каждую очередь

Таким образом, вы просто запускаете функцию Lambda одним сообщением, и она отправляется во все другие очереди. Он не будет "потреблять системные ресурсы", но он взимается в зависимости от продолжительности выполнения . Лямбда-функции могут работать максимум 15 минут, поэтому, отправляя более 10 сообщений в минуту, они могут отправлять до 9000 тем.

В зависимости от вашего варианта использования вы можете также рассмотреть возможность использования Amazon Pinpoint :

Amazon Pinpoint - это сервис AWS, который можно использовать для взаимодействия с клиентами по нескольким каналам обмена сообщениями. Amazon Pinpoint можно использовать для отправки push-уведомлений, электронных писем, текстовых SMS-сообщений и голосовых сообщений.

...