何时使用QueryRequest和Java SDK for AWS?

问题描述:

我们有一个围绕QueryRequest构建的框架。但我们的框架建于12-18个月前。当我阅读开发人员指南等当前文档时,我看不到任何对QueryRequest的引用。本文档中的示例(Querying Tables Using the AWS SDK for Java Document API)使用QuerySpec,这对我来说是全新的。后来在同一篇文档中有更多使用Table.query的例子。还有一个使用对象持久性模型的参考。何时使用QueryRequest和Java SDK for AWS?

QueryRequest是过期的,还是计划弃用?当你有散列键,rangeKeyConditions,FilterExpressions等时,Table.query目前是推荐的方法吗?我们目前正在用setSelect(),setTableName(),setKeyConditions(),setQueryFilter()等构建我们的queryRequest,但是一个新的用例看起来像是需要更复杂的AND和AND组合OR条件,所以看起来我们需要开始使用FilterExpressions。

+0

您使用的是什么版本的AWS SDK? – mkobit 2015-02-23 23:47:58

+0

我们最近升级到1.9.17以获得表格更新功能。 – user26270 2015-02-24 14:18:53

com.amazonaws.services.dynamodbv2.model.QueryRequest不被弃用,它看起来不像它的目标是。 com.amazonaws.services.dynamodb.model.QueryRequest(注意否v2)已被弃用,我相信已在1.9 AWS Java SDK版本中删除。

DynamoDB在底层Java客户端上发布了另一个名为Document API的库。 AWS开发人员博客发布了一个博客,解释其用法(Part 1Part 2),并且还提到了背后的原因,但它本质上使代码更易于编写和更易于阅读。从Part 1报价:

正如你看到的,新的文件API允许直接使用普通的旧 Java数据类型的,而且具有更少的样板。事实上,Dynamo Document API可以完全包含您可以使用 低级客户端(即AmazonDynamoDBClient)执行的操作,但是可以使用更清洁的 编程模型和更少的代码。

如您所见,将JSON保存为Amazon DynamoDB中的结构化文档,或将文档更新,检索并将文档返回 转换为JSON与1-2-3一样简单。 :)你可以在GitHub的 A-Z Document API quick-start folder找到更多的例子。快乐编码,直到 下次!

这主要取决于您想如何编写代码,但我会说使用Document API比使用低级Java客户端更容易读写。