有没有办法让Dynamodb Update返回旧值和新值?
类似的东西:
updateItemSpec
.withPrimaryKey("id", id)
.withUpdateExpression(myUpdateExpression)
.withNameMap(nameMap)
.withValueMap(valueMap)
.withReturnValues("UPDATED_NEW, UPDATED_OLD");
答案 0 :(得分:1)
没有。
通过返回UPDATED_OLD
来模拟这一点应该很容易。您在更新中设置了新值,因此请获取更新的旧值,并使用该值从值图中提取新值。
答案 1 :(得分:0)
根据您要使用数据的位置,如果您在更新DynamoDB记录的代码体中不需要它,则可以使用DynamoDB streams捕获表活动。您可以在表上配置AWS lambda trigger,以便在发生指定事件时调用lambda,并将此事件(在我们的示例中为流)传递给lambda。由此,根据您设置流的方式,您可以访问记录的旧版本和新版本。