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

use*_*270 2 java amazon-dynamodb

我们有一个围绕QueryRequest构建的框架.但我们的框架是在12-18个月前建成的.当我阅读开发者指南等当前文档时,我看不到对QueryRequest的引用.本文档中的示例(使用AWS SDK for Java Document API查询表)使用QuerySpec,这对我来说是全新的.稍后在同一文档中有更多使用Table.query的示例.还有一个使用对象持久性模型的参考.

QueryRequest是否已过期,或计划弃用?当您有散列键,rangeKeyConditions,FilterExpressions等时,Table.query当前是推荐使用的方法吗?

对于上下文的FYI,我们目前正在使用setSelect(),setTableName(),setKeyConditions(),setQueryFilter()等构建我们的queryRequest.但是一个新的用例看起来需要更复杂的AND和OR条件组合,所以看起来我们需要开始使用FilterExpressions.

mko*_*bit 5

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

DynamoDB在名为Document API的低级Java客户端上发布了另一个库.AWS Developer Blog发布了一个博客,解释了它的用法(第1部分第2部分),并提到了它背后的原因,但它实际上使代码更容易编写和更容易阅读.引用第1部分:

如您所见,新的Document API允许直接使用普通的旧Java数据类型,并且具有较少的样板.事实上,Dynamo Document API可用于完全包含您可以使用低级客户端(即AmazonDynamoDBClient)执行的操作,但编程模型更清晰,代码更少.

如您所见,将JSON保存为Amazon DynamoDB中的结构化文档,或者将文档更新,检索并转换回JSON就像1-2-3一样简单.:)您可以在GitHub 的AZ Document API快速入门文件夹中找到更多示例 .快乐编码直到下次!

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