2015-02-23 91 views
1

我們有一個圍繞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

回答

5

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客戶端更容易讀寫。