我正在尝试在调用Lambda函数时以特定方式更新DynamoDB。目前,每次调用lambda函数时,我都必须等待更新发生。这每次需要一整秒。有没有办法可以“发射并忘记”或者只是没有充分的来回时间计费? lambda表达式评估的几乎所有时间都发生在此异步时间内。我希望它每秒钟被调用十几次,所以将其减少90%就会很棒。
谢谢!
P.S。我正在用JavaScript编写,但我愿意切换到另一种语言来做到这一点(我对它们都很熟悉,而且这是一个不到100行的函数)
答案 0 :(得分:0)
当您说等待更新时,是否表示您正在执行putItem
,然后使用getItem
进行轮询,直到返回您期望的值?
通常这是一种反模式,所以我很好奇您是否可以添加更多有关您的用例的信息。通常,您将使用条件写/读,以便无需轮询。
类似的东西:
Client == Client that needs new record updated Client - update -> Lambda - (Update with Version/timestamp) -> DDB - 200 -> Lambda - Saved Version/Timestamp -> Client - (Get/Update with Version/Timestamp) -> DDB
只要您要轮询以进行验证(使用CPU时间),您都将使用Lambda支付费用。但是,请不要害怕,有一些选项可供您使用(再次取决于您实际上要完成的工作)。