SQL触发器在DynamoDB备选



我在一个移动窗口的表中有一个列表属性。我希望在DynamoDb中创建一个触发器,这样每当有东西被添加到列表时,它就会移动一个,去掉最早的值。如果我使用SQL,create trigger将是我的首选,但是DynamoDb呢?

AWS在本文档中将其称为触发器。基本上你写一个Lambda函数来做你想做的。但是,在您的示例中,您必须小心不要创建一个无限循环,其中更新DynamoDB,调用Lambda并更新DynamoDB,然后再次调用Lambda。但这篇文章实际上称这种设计模式为数据库触发器。

Dynamo DB没有SQL的" Before update ";触发器。

DDB的流功能,虽然经常像"After update"一样被提及和使用。触发……根本不像一个真正的RDMS SQL触发器。

如果你真的必须使用DDB,那么你就必须在DDB前面使用你自己的API来实现你需要的逻辑。

我想正如另一个答案所建议的那样,您可能会仔细实现DDB触发器;λ。但要意识到,你将为每次更新支付2次写入费用,而不是1次。此外,假设您希望列表中包含最近的10个项目。你的应用程序有时必须准备好看到11个、12个,甚至13个。自从"触发"之后;与实际的数据库写同步。

最新更新