我在从我的表中检索数据时遇到困难。我正在使用 Amazon Dynamo DB,并且已成功填充我的表。当我扫描表格或使用getItem时,返回信息是AttributeValue类型。我查看了文档,但找不到应该如何处理 AttributeValue 以使其成为 int 或 string。来自 Amazon 网站的扫描示例代码在 Dictionary 对象中返回了信息,但它是一个将字符串映射到 Attribute Values 的字典。您知道如何查询 Dynamo DB 表并将结果存储在字符串映射到字符串或字符串映射到整数的地方吗?
最佳答案
假设您使用的是 AWS SDK for Java , Class AttributeValue 的对象可以是 String、Number、StringSet、NumberSet 类型,并且类具有相应的 getter/setter,例如:
- public String getN() - 数字是正负精确值小数和整数。一个数字最多可以有 38 位精度,并且可以在 10^-128 到 10^+126 之间。
- public String getS() - 字符串是采用 UTF-8 二进制编码的 Unicode。最大大小受主键大小(1024 字节作为键的范围部分或 2048 字节作为单部分哈希键)或项目大小 (64k) 的限制。
请注意,getN()
的返回值仍然是一个字符串,必须通过您选择的 Java 字符串相应地转换为数字转换方法。 DynamoDB data types 的隐含弱类型仅基于字符串参数的检索/提交有点不幸,并不能完全简化开发,参见例如我对 Error in batchGetItem API in java 的回答对于这样的问题。
祝你好运!
关于database - Amazon DynamoDB 以字符串形式获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446472/