在java中创建表后创建dynamodb全局二级索引

ecfdbz9o  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(402)

是否可以从java以编程方式在现有表上创建gsi?我知道在使用

dynamoDB.createTable(new CreateTableRequest().withGlobalSecondaryIndexes(index));

我还知道,从web创建表之后,可以创建索引。

rnmwe5a2

rnmwe5a21#

您需要使用globalsecondaryindexupdate方法来执行此操作,如下所述:https://docs.aws.amazon.com/amazondynamodb/latest/apireference/api_globalsecondaryindexupdate.html
应该是这样的

CreateGlobalSecondaryIndexAction action = CreateGlobalSecondaryIndexAction
                .builder()
                .indexName("index-name")
                .keySchema(theSchema)
                .build();
GlobalSecondaryIndexUpdate index = GlobalSecondaryIndexUpdate
                .builder()
                .create(action)
                .build();
UpdateTableRequest request = UpdateTableRequest
                .builder()
                .tableName("table-name")
                .globalSecondaryIndexUpdates(index)
                .build();
dynamoDbClient.updateTable(request);

相关问题