Amazon dynamodb 使用与哈希键和范围键相同的DynamoDB属性
我有一个DynamoDB,它由一个数字键索引。我希望能够检索具有键的特定值的项,并通过按逆排序顺序查询和请求单个项来找到其最大值。当我试图在同一个键上定义下面摘录中的两个索引时,我得到错误“两个键不能有相同的名称”Amazon dynamodb 使用与哈希键和范围键相同的DynamoDB属性,amazon-dynamodb,amazon-dynamodb-index,Amazon Dynamodb,Amazon Dynamodb Index,我有一个DynamoDB,它由一个数字键索引。我希望能够检索具有键的特定值的项,并通过按逆排序顺序查询和请求单个项来找到其最大值。当我试图在同一个键上定义下面摘录中的两个索引时,我得到错误“两个键不能有相同的名称” "KeySchema": [ { "AttributeName": "logs", "KeyType": "HASH" }, { "AttributeName": "logs", "KeyType": "RANGE" } ] 您可以只
"KeySchema": [
{
"AttributeName": "logs",
"KeyType": "HASH"
},
{
"AttributeName": "logs",
"KeyType": "RANGE"
}
]
您可以只使用散列键而不使用范围键来定义密钥架构
"KeySchema": [
{
"AttributeName": "logs",
"KeyType": "HASH"
}
]
要使用特定的“日志”值请求项目,请使用
要找到最高值,您需要执行以下操作。这是一种很难找到最高值的方法,因为这意味着要评估表中的每个项目。这将是缓慢和昂贵的
您可能需要重新评估您的方法。如果您只是试图创建唯一的ID,那么这不是DynamoDB的正确方法。你应该做的是:
- 生成一个长UUID
- 执行以下操作以验证UUID是否可用。这在DynamoDB中是非常便宜和快速的
- 使用UUID
"KeySchema": [
{
"AttributeName": "logs",
"KeyType": "HASH"
}
]
要使用特定的“日志”值请求项目,请使用
要找到最高值,您需要执行以下操作。这是一种很难找到最高值的方法,因为这意味着要评估表中的每个项目。这将是缓慢和昂贵的
您可能需要重新评估您的方法。如果您只是试图创建唯一的ID,那么这不是DynamoDB的正确方法。你应该做的是:
- 生成一个长UUID
- 执行以下操作以验证UUID是否可用。这在DynamoDB中是非常便宜和快速的
- 使用UUID