检查DDB中是否存在GSI密钥的模型是什么?

问题描述 投票:0回答:1

我有一个非常直截了当的问题

我想知道是否存在某些GSI哈希密钥。

我现在能找到的最好的是

DynamoDBQueryExpression<T> queryExpression;             
// Logic for constructing query
queryExpression.withIndexName(SomeIndexName);
QueryResultPage<T> queryResponse mapper.queryPage(T.class, queryExpression, someMapperConfig));

这里查询结果页面包含结果列表,我可以检查该列表是否有任何内容,并断定它是否存在。

显而易见的问题是当存在事物时效率下降。有没有办法不通过网络IO移动项目的内容以进行验证(即服务器端对检查是否存在某些GSI密钥的谓词的总体验证)?

amazon-dynamodb
1个回答
0
投票

例如,当使用Put-Item编写项目时,指定密钥的add a condition必须不存在。这样,DynamoDB会检查提供的密钥是否已被占用,并在您尝试放入内容时发出错误。只需捕获错误,然后您就知道密钥已被占用。

© www.soinside.com 2019 - 2024. All rights reserved.