Делать несколько запросов DynamoDb, используя функцию Lambda - PullRequest
1 голос
/ 17 марта 2019

Мне нужно выполнить несколько запросов к DynamodBat из моей функции lamba dotnet (например, GetItem и Query с использованием ключей секционирования и сортировки).Какой из них лучший?

  1. Наличие последующих запросов в одной лямбде.
  2. Необходимо написать отдельную лямбду для каждого запроса и вызвать ее из другой лямбды.
  3. Для использования функции шага.

1 Ответ

1 голос
/ 18 марта 2019

Это зависит . Хорошо иметь несколько вызовов Dynamodb в одной лямбда-функции, если она выполняет только одну функцию. Например, если у вас есть лямбда-функция, обслуживающая обновление ресурса API , и вы хотите дать HTTP 404 - NotFound, можно сначала вызвать GetItem и UpdateItem позже. То же самое относится и к пакетному обновлению и «Запросу с использованием ключей секционирования и сортировки».

Подобно методам, обычно, когда у вас более одного уровня абстракции, ваша функция обычно выполняет слишком много. Разделение функций приводит к повторному использованию и упрощению тестирования. Например, если вы хотите обновить ресурс и отправить электронное письмо (для чего требуется «Запрос с использованием ключей секционирования и сортировки»), вы определенно не хочу сделать это в той же самой лямбда-функции. В этом случае использование пошаговой функции может быть хорошей идеей и сэкономит вам время, но, в конце концов, не должно иметь значения для обсуждения, если у вас должно быть несколько лямбда-функций или нет.

...