使用 Lambda 函数执行多个 DynamoDb 查询

Do multiple DynamoDb queries using Lambda function

我需要通过我的 dotnet lamba 函数对 dynamodb 执行多个查询(例如使用分区和排序键的 GetItem 和查询)。哪种方法最好?

  1. 在单个 lambda 中进行后续查询。
  2. 必须为每个查询编写单独的 Lambda 并从其他 lambda 调用它。
  3. 要使用步进功能。

这取决于。只要它只做一件事,就可以在单个 lambda 函数中多次调用 dynamodb。例如,如果您稍后有 lambda function serving a restful API resource update and you want to give an HTTP 404 - NotFound, it is fine to call GetItem first and an UpdateItem。同样适用于您正在进行批量更新和 "Query using partition and sort keys".

与方法类似,usually when you have more than one level of abstraction your function is usually doing too much. Splitting up functions leads to reusability and easier testing. 例如,如果您想更新资源并发送电子邮件(这需要 "Query using partition and sort keys"),您肯定 想在同一个 lambda 函数中完成。在这种情况下,使用步进函数可能是个好主意,可以节省您一些时间,但最终,您是否应该使用多个 lambda 函数对于讨论来说并不重要。