代码之家  ›  专栏  ›  技术社区  ›  hipsterstomper69

用lambda递增dynamoDB表的属性的适当幂等设置?

  •  1
  • hipsterstomper69  · 技术社区  · 7 年前

    我想安排一个lambda函数来定期增加dynamo表中的一些属性,但是lambda的并发性通过多次运行来减少增量。

    有没有合适的方法来设置aws lambda函数,使其a)只运行一次,或者b)以幂等方式递增,使该函数即使同时运行也只能递增一次值?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ronyis    7 年前

    您的问题不清楚是什么触发了lambda函数。如果使用CloudWatch规则按计划触发函数,则每个勾号(定义为您配置的速率)只会发生一次调用。

    关于你关于幂等性的问题:

    如果触发器是同步的,那么只有在由于失败而重试的情况下,才会使用相同的输入多次调用lambda,并且调用不会并发运行。 如果它是异步的,那么它可能会被触发几次,您应该编写代码来正确处理这种情况(尽管它只发生在调用的一小部分中)。

    在任何情况下,都可以使用lambdas输入和上下文的请求id使代码幂等。