gpt4 book ai didi

amazon-dynamodb - 如何使用DynamoDBMapper查询仅具有hashKey的具有GSI的Dynamo DB

转载 作者:行者123 更新时间:2023-12-03 21:14:37 29 4
gpt4 key购买 nike

我是 Dynamo DB 的新手,也许这是一个非常琐碎的问题,但是我浏览了Dynamo DB的文档和堆栈溢出问题,但是我找不到单个链接,该链接告诉我如何在DDB中查询 GSI ,仅散列键,并且没有为此指定范围键。

我得到异常查询查询表达式:在查询中找不到哈希键条件。

最佳答案

在带有DynamoDB注释的模型对象上,应使用@DynamoDBIndexHashKey(globalSecondaryIndexName = "gsiIndexName)表示它是GSI的哈希键:

@DynamoDBTable(tableName = "myTable")
public class MyTable {
...

@DynamoDBIndexHashKey(globalSecondaryIndexName = "myGsi")
public String getGsiHk() {
return gsiHk;
}

...
}

然后在 query上使用 DynamoDBMapper方法:

final MyTable gsiKeyObj = new MyTable();
gsiKeyObj.setGsiHk("myGsiHkValue");
final DynamoDBQueryExpression<MyTable> queryExpression =
new DynamoDBQueryExpression<>();
queryExpression.setHashKeyValues(gsiKeyObj);
queryExpression.setIndexName("myGsi");
queryExpression.setConsistentRead(false); // cannot use consistent read on GSI
final PaginatedQueryList<MyTable> results =
mapper.query(MyTable.class, queryExpression);

关于amazon-dynamodb - 如何使用DynamoDBMapper查询仅具有hashKey的具有GSI的Dynamo DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457820/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com