我创建了DynamoDB
table:
[
'AttributeDefinitions' => [
[
'AttributeName' => 'UserId',
'AttributeType' => 'N',
],
[
'AttributeName' => 'Created',
'AttributeType' => 'S',
],
],
'KeySchema' => [
[
'AttributeName' => 'UserId',
'KeyType' => 'HASH',
],
[
'AttributeName' => 'Created',
'KeyType' => 'RANGE',
],
],
'ProvisionedThroughput' => [
'ReadCapacityUnits' => 5,
'WriteCapacityUnits' => 5,
],
'TableName' => 'Images',
]
添加数据时,也会添加TargetUserIdUserId
字段。如何为三列(UserId,TragetUserId,Created)设置GSI?或者我可能需要修改表KeySchema
?
看起来我无法使用AWS控制台(只有两个密钥可用):
答案 0 :(得分:1)
DynamoDB密钥可以由一个属性(分区密钥)或两个属性(分区密钥和范围密钥)组成。
你应该创建一个新的属性,它结合了UserId + TargetUserIdUserId并使其成为GSI分区键,然后创建了创建范围键。