有什么方法可以知道离线保存的数据是否已经在线同步?

时间:2018-08-15 01:43:17

标签: amazon-web-services react-native aws-appsync

我将aws appsync与react native一起使用,并且离线发生事务,我想知道正在离线处理的mydata是否已经在线保存在数据库中。

我正在使用的提取策略已经是仅用于网络的,但是“仅网络”策略却无法正常工作,因为即使离线,它仍然可以捕获数据。

1 个答案:

答案 0 :(得分:0)

如果将DynamoDB与AppSync一起使用,则可以将条件表达式添加到您的突变解析器请求映射模板。 DynamoDB条件用于验证突变是否应该成功。

许多人使用带有DynamoDB条件检查的版本来验证记录是否尚未更新,但是您可以添加其他字段来跟踪事务是否已经完成。

以下是条件表达式示例,您可以将其添加到请求映射模板中以验证传入的突变:

"condition" : {
    "expression"       : "version = :expectedVersion",
    "expressionValues" : {
        ":expectedVersion" : { "N" : ${context.arguments.expectedVersion} }
    }
}

这里是使用DynamoDB解析器的过于全面的指南:

https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-resolvers.html#modifying-the-updatepost-resolver-dynamodb-updateitem