我们有一个围绕QueryRequest构建的框架。但我们的框架是在12-18个月前建成的。当我阅读开发者指南等当前文档时,我看不到对QueryRequest的引用。本文档中的示例(Querying Tables Using the AWS SDK for Java Document API)使用QuerySpec,这对我来说是全新的。稍后在同一文档中有更多使用Table.query的示例。还有一个使用对象持久性模型的参考。
QueryRequest已过期,或计划弃用?当您有散列键,rangeKeyConditions,FilterExpressions等时,Table.query当前是推荐使用的方法吗?
对于上下文的FYI,我们目前正在使用setSelect(),setTableName(),setKeyConditions(),setQueryFilter()等构建我们的queryRequest。但是一个新的用例看起来需要更复杂的AND和OR组合条件,所以看起来我们需要开始使用FilterExpressions。
答案 0 :(得分:5)
com.amazonaws.services.dynamodbv2.model.QueryRequest
未被弃用,并且它看起来不像是目标。不推荐使用com.amazonaws.services.dynamodb.model.QueryRequest
(通知no v2),我相信,它已在1.9 AWS Java SDK版本中删除。
DynamoDB在名为Document API的低级Java客户端上发布了另一个库。 AWS Developer Blog发布了一个博客,解释了它的用法(Part 1和Part 2),并提到了它背后的原因,但它实际上使代码更容易编写和更容易阅读。引自Part 1:
如您所见,新的Document API允许直接使用普通旧版本 Java数据类型并且具有较少的样板。事实上,迪纳摩 文档API可用于完全包含您可以使用的内容 低级客户端(即AmazonDynamoDBClient),但更清洁 编程模型和更少的代码。
如您所见,将JSON保存为Amazon DynamoDB中的结构化文档,或更新,检索并转换文档 进入JSON就像1-2-3一样简单。 :)您可以在中找到更多示例 在GitHub A-Z Document API quick-start folder。快乐编码直到 下次!
主要取决于您希望如何编写代码,但我会说使用Document API比使用低级Java客户端更容易读写。