DynamoDB ExclusiveStartKey 错误提供的起始键无效
DynamoDB ExclusiveStartKey error The provided starting key is invalid
大家好,我从 dynamodb 开始,当我想使用 ExclusiveStartKey.currently 我与 GSI 一起工作时我有一些误解,这就是我如何获得查询的参数
{
TableName: 'Search',
IndexName: 'GSI1',
ExclusiveStartKey: {
GSI1PK: { S: '8a2bb021182ffff' },
GSI1SK: { S: '5#182854f0-c4ea-39c7-a3f5-4b0b0d947cea' }
},
KeyConditionExpression: 'GSI1PK = :gsiHk AND begins_with(GSI1SK, :entityType)',
ExpressionAttributeValues: { ':gsiHk': { S: '8a2bb021182ffff' }, ':entityType': {S:'5'}},
Limit: 500
}
这个returns我错了
ValidationException: The provided starting key is invalid
这是正确的使用方法吗?我该如何解决??
显式设置 ExclusiveStartKey
并不常见
来自docs:
ExclusiveStartKey The primary key of the first item that this
operation will evaluate. Use the value that was returned for
LastEvaluatedKey in the previous operation.
所以 Query 的正常使用,给定它的 1MB 读取限制是在一个循环中,如以下伪代码所示
do
result=Query(parms);
//process results
parms.ExclusiveStartKey = results.LastEvaluatedKey;
until results.LastEvaluatedKey is null;
我认为您没有理由不明确设置它,但我没有看到任何地方记录了该格式。您必须检查 LastEvaluatedKey
中返回的内容
大家好,我从 dynamodb 开始,当我想使用 ExclusiveStartKey.currently 我与 GSI 一起工作时我有一些误解,这就是我如何获得查询的参数
{
TableName: 'Search',
IndexName: 'GSI1',
ExclusiveStartKey: {
GSI1PK: { S: '8a2bb021182ffff' },
GSI1SK: { S: '5#182854f0-c4ea-39c7-a3f5-4b0b0d947cea' }
},
KeyConditionExpression: 'GSI1PK = :gsiHk AND begins_with(GSI1SK, :entityType)',
ExpressionAttributeValues: { ':gsiHk': { S: '8a2bb021182ffff' }, ':entityType': {S:'5'}},
Limit: 500
}
这个returns我错了
ValidationException: The provided starting key is invalid
这是正确的使用方法吗?我该如何解决??
显式设置 ExclusiveStartKey
来自docs:
ExclusiveStartKey The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.
所以 Query 的正常使用,给定它的 1MB 读取限制是在一个循环中,如以下伪代码所示
do
result=Query(parms);
//process results
parms.ExclusiveStartKey = results.LastEvaluatedKey;
until results.LastEvaluatedKey is null;
我认为您没有理由不明确设置它,但我没有看到任何地方记录了该格式。您必须检查 LastEvaluatedKey