DynamoDB散列键int vs string

时间:2013-05-16 17:25:19

标签: python boto amazon-dynamodb

我尝试在DynamoDB中使用UUID的整数表示作为整数哈希键,但是因为错误而失败:

DynamoDBValidationError: DynamoDBValidationError: 400 Bad Request
{'message': 'Attempting to store more than 38 significant digits in a Number', 
 '__type': 'com.amazon.coral.validate#ValidationException'}

这一方面有意义,因为UUID是128位,最多可以是39位十进制数字。另一方面它让我想知道......

DynamoDB是否存储整数散列键,因为它是十进制表示?在字符串散列键上使用整数散列键有什么好处吗?

1 个答案:

答案 0 :(得分:6)

DynamoDB序列化数字,因此在字符串哈希键上使用整数哈希键不应该有任何优势。

  

序列化的号码作为String类型发送到Amazon DynamoDB   最大化语言和库之间的兼容性,但亚马逊   DynamoDB将它们作为数学运算的数字类型处理。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html