我正在用Java开发一个项目,我正在使用AWS SDK。我正在使用Dynamo DB。我正在使用mapper,它对我非常有用,因为我可以直接在java实体上执行基本操作。
最近,我看到了允许向Dynamodb添加事务性的库:qazxsw poi
这样的库工作得很好,但它不允许我使用映射器。它只适用于GetRequest,PutRequest,......
获取结果时没有问题,因为我可以使用方法“marshallIntoObject(Class,Map)”从查询结果中获取java实体。
如何执行保存/更新项目的相同操作?我真的想要一个接受输入java实体并将其转换为Map的方法。我将使用返回的映射通过事务引擎执行查询。它在某处可用吗?
此外,是否有任何计划使“dynamodb-transactions”项目能够支持映射器?
谢谢
关注此事:链接的功能请求现在已经是https://github.com/awslabs/dynamodb-transactions。
DynamoDB事务库现在支持使用DynamoDB Mapper。看一下示例和javadoc来开始使用它,如果你有任何问题,可以随时在github项目中打开问题。
您可以从查看DynamoDB在保存之前如何解析对象开始。您可以在GitHub上查看implemented代码。你应该在函数DynamoDBMapper中寻找受保护的类SaveObjectHandler
实现
问题/功能请求应该记录在GitHub(save
)项目的问题部分,或者在There's one already for supporting DynamoDBMapper中讨论
仅供参考 - AWS为内置事务API库启动了DynamoDBMapper支持(在re:Invent 2018上发布):AWS DynamoDB forum