Dynamodb更新多个返回值

时间:2018-02-16 19:15:59

标签: amazon-web-services aws-lambda amazon-dynamodb

有没有办法让Dynamodb Update返回旧值和新值?

类似的东西:

updateItemSpec
    .withPrimaryKey("id", id)
    .withUpdateExpression(myUpdateExpression)
    .withNameMap(nameMap)
    .withValueMap(valueMap)
    .withReturnValues("UPDATED_NEW, UPDATED_OLD");   

2 个答案:

答案 0 :(得分:1)

没有。

通过返回UPDATED_OLD来模拟这一点应该很容易。您在更新中设置了新值,因此请获取更新的旧值,并使用该值从值图中提取新值。

答案 1 :(得分:0)

根据您要使用数据的位置,如果您在更新DynamoDB记录的代码体中不需要它,则可以使用DynamoDB streams捕获表活动。您可以在表上配置AWS lambda trigger,以便在发生指定事件时调用lambda,并将此事件(在我们的示例中为流)传递给lambda。由此,根据您设置流的方式,您可以访问记录的旧版本和新版本。