Я беру данные из API партиями и отправляю их в очередь SQS. Когда у меня возникает проблема, я обрабатываю сообщение, чтобы отправить данные в DynamoDB. Предполагается 147689 ...

1
KoalaKey 9 Янв 2021 в 21:24

1 ответ

Лучший ответ

Lambda Event Source Mapping для SQS будет опрашивать сообщения и вызвать функцию Lambda для пакета записей на основе размера пакета, который по умолчанию равен 10. И обработка пакета должна выполняться путем зацикливания массива event["Records"].

Ключевые факторы, которые следует учитывать при настройке размера партии.

  • Если обработка лямбда не удалась, весь пакет будет повторно отправлен, и AWS выполнит повторную попытку. Если функция не может принимать обработку повторяющихся записей, размер пакета следует установить на 1.
  • Если обработка одной записи в лямбда-выражении занимает 20 мс, с нас по-прежнему будет взиматься плата за 100 мс (это минимум) AWS, мы можем легко снизить затраты в 5 раз, просто установив размер пакета равным 5.

Всегда рекомендуется

  • Установите более высокий размер пакета и сделайте лямбда идемпотентным.
  • Используйте Lambda для обработки всех записей независимо от размера пакета.
3
Balu Vyamajala 9 Янв 2021 в 20:45