Получить данные из SQS Response - PullRequest
0 голосов
/ 11 июля 2019

У меня есть список из примерно 20 API и равный 20 SQS.Например: Имя API: XXX_API_NAME1 & SQS Name: YYY_SQS_NAME1 То же соглашение об именах для оставшихся 19 API

Здесь, если в случае каких-либо сбоев в любом из указанных выше API он будет вызываться, оно отправит сообщение соответствующему SQS.

Теперь мне нужно получить информацию из SQS, такую ​​как API Name, SQS Name & Timestamp, и мне нужно набросать эту информацию как электронное письмо получателю.

Я написал лямбда-триггер для одного SQS для получения сообщения, как показано ниже,

sqs = boto3.resource("sqs")
queue = sqs.get_queue_by_name(QueueName='YYY_SQS_NAME1')

Я напечатал переменную очереди и получил следующий результат:

sqs.Queue (url = 'https://queue.amazonaws.com/558485267243/YYY-SQS-NAME1')

Это правильный путь?способ написать одну лямбду для достижения всех 20 имен и атрибутов SQS?

1 Ответ

1 голос
/ 11 июля 2019

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

Если вы хотите, чтобы одна функция Lambda обрабатывала все очереди SQS, просто настройте все из них как источники событий для функции Lambda..

...