2

我尝试在 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 是否将整数哈希键存储为十进制表示?使用整数哈希键而不是字符串哈希键有什么优势吗?

4

1 回答 1

6

DynamoDB 对数字进行序列化,因此使用整数散列键而不是字符串散列键应该没有任何优势。

序列化数字作为字符串类型发送到 Amazon DynamoDB,从而最大限度地提高跨语言和库的兼容性,但 Amazon DynamoDB 将它们作为数字类型处理以进行数学运算。

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

于 2013-05-27T05:15:15.413 回答