我正在使用 UpdatedItem() 函数,该函数在 Dynamodb 中插入或更新值。如果值正在更新,我想获取这些项目并调用新的 lambda 函数。我怎样才能实现这个目标?
最佳答案
最直接的方法是将 ReturnValues: 'UPDATED_NEW'
添加到您用于 updateItem()
调用的参数中。
然后,您可以判断是否插入了新项目,因为返回的 Attributes
将包含您的分区(以及排序,如果您使用了复合)键。
这是因为您无法更改项目的 key ,因此如果您所做的只是更新项目,那么您就不会更新其 key 。但如果您创建了一个新项目,那么您就会“更新”其 key 。
但是,如果您想对 Dynamo 表中更新的项目使用react,您也可以使用 DynamoDB Streams (docs) .
这些流允许您在 dynamo 表上的事务上触发 lambda。然后,该 lambda 可以过滤更新事件并做出相应 react 。这种架构方法的优点是,它意味着如果任何内容更新表(而不仅仅是特定的 lambda),您的“onUpdate”功能就会触发。
关于python-2.7 - 查找该值是否已更新或插入到 Dynamodb 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985493/