何时使用带有java SDK for AWS的QueryRequest?

时间:2015-02-23 22:16:33

标签: java amazon-dynamodb

我们有一个围绕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。

1 个答案:

答案 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 1Part 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客户端更容易读写。