【问题标题】:DynamoDB trigger event based on item counter基于项目计数器的 DynamoDB 触发事件
【发布时间】:2021-05-05 17:04:27
【问题描述】:

我们有一个 DynamoDB 表,它有一个属性计数器,它会根据一个事件由多个 lambda 异步递减。我想在计数器变为零时触发另一个事件。我怎样才能做到这一点?我正在使用 DynamoDB 增强型客户端 (Java SDK 2)。

我尝试使用 DynamoDBVersionAttribute,但维护它非常棘手,因为计数器正在异步更新。

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    首先,重要的是要了解,默认情况下 DynamoDB 使用 eventually consistent read model,如果您希望计数器为 atomic,它将无法正常工作。

    原子计数器不适用于不能容忍多计或少计的情况(例如,在银行应用程序中)。在这种情况下,使用条件更新而不是原子计数器更安全。

    看看conditional updates

    与其尝试在更新时获取值,不如看看使用DynamoDB streams 在执行写入后做出反应。

    通过以这种方式处理事件,它可以让您根据条件触发和处理事件,例如对于您的情况,计数器达到 0。

    流可以被另一个应用程序读取或与Lambdaprocess the events等其他服务集成。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2021-11-26
    • 2019-05-13
    • 2012-10-21
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多