如何使用javascript aws-sdk支持dynamoDB中的事务?

我们有一个用node.js编写的微服务,我们使用dynamoDB来存储数据。 值以密钥forms存储在json格式中。 在更新服务调用中,我们获取一个密钥的值,更新json并保存它。

最近,我们遇到了两个电话想要更新同一个密钥的值的情况。 所以第一次调用读取值,然后第二次调用读取值,第一次调用更新&保存,然后第二次更新&保存值(通常情况下的竞争条件),所以在这种情况下,通过第一次调用更新没有得到反映在DB中。

为了处理这个问题,我研究了一下和了解了dynamoDB的事务库。 但似乎还没有在node-js sdk中。

另外,我search了版本控制和乐观locking,但是我在node-js sdk中没有find对此的支持。

有没有更新? 如果在node-js sdk中支持不会来,那么还有其他的select吗? 什么可能是处理这个问题的最好方法?

  1. 您可以执行primefaces更新,例如在Dynamo上直接递增数字,而无需读取,递增和更新。 欲了解更多信息,请参阅

  2. 两个更新是否更新相同的字段? 如果是这样,你可以添加一个条件的更新,旧值等于你读的。 这样,如果您尝试保存第二个新值,则此情况将失败,并且不会执行第二次更新。 看到这个