2012-02-25 31 views
1

我在從我的表中檢索數據時遇到困難。我正在使用Amazon Dynamo DB,並且已成功填充我的表格。當我掃描表或使用getItem時,返回的信息是AttributeValue類型。我查看了文檔,我找不到應該如何處理AttributeValue以使其成爲int或字符串。來自Amazon網站的示例掃描代碼具有在Dictionary對象中返回的信息,但是它是一個字符串,其字符串映射到屬性值。您是否知道查詢Dynamo數據庫表並將結果存儲在字符串映射到字符串或字符串映射爲整數的地方?Amazon DynamoDB將項目作爲字符串獲取

回答

3

假設正在使用的AWS SDK for Java,的Class AttributeValue對象可以是類型字符串,數字,StringSet,NumberSet和類特徵的相應getter/setter方法。因此,例如:

  • public String getN() - 數字是正數或負數的精確值小數和整數。一個數字可以具有高達38位的精度,可以在10^-128到10^+ 126之間。
  • public String getS() - 字符串是Unicode與UTF-8二進制編碼。最大大小受主鍵大小(作爲鍵的範圍部分的1024個字節或作爲單個部分散列鍵的2048個字節)或項目大小(64k)的限制。

請注意,getN()返回值仍然是一個字符串,必須由您的Java字符串相應地轉換爲所選擇的數字轉換方法。基於字符串參數的DynamoDB data types檢索/提交的這種隱含的弱類型僅有點不幸,並且不能完全簡化開發,參見例如。我對這個問題的回答是Error in batchGetItem API in java

祝你好運!

+2

我很高興這不僅僅是我認爲打字系統(或缺乏)是瘋狂的。 – Jonathan 2012-07-25 22:21:18