我尝试在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是否存储整数散列键,因为它是十进制表示?在字符串散列键上使用整数散列键有什么好处吗?
答案 0 :(得分:6)
DynamoDB序列化数字,因此在字符串哈希键上使用整数哈希键不应该有任何优势。
序列化的号码作为String类型发送到Amazon DynamoDB 最大化语言和库之间的兼容性,但亚马逊 DynamoDB将它们作为数学运算的数字类型处理。
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html