python-2.7 - 查找该值是否已更新或插入到 Dynamodb 中?

标签 python-2.7 amazon-web-services aws-lambda amazon-dynamodb

我正在使用 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/

相关文章:

python - 在新型类中实现 __getitem__

python - 我有一个包含字典键的列表。如何使用这些键动态访问字典

python - 使用时间信息计算元组值的年平均值

Spring Cloud - SQS - 此wsdl版本的指定队列不存在

java - 具有事件调用类型的AWS lambda java

python - scrapy 抓取所有具有此语法的页面

linux - 如何在不使用 Kubernetes (PKS) 中的 cron-job 的情况下运行节点自动缩放器脚本

python-3.x - 通过MS团队触发AWS Lambda函数

amazon-web-services - SQS + Lambda 与异步 Lambda

amazon-web-services - Terraform没有将Lambda代码zip文件上传到AWS