是否可以在创建后添加全局二级索引和现有DynamoDB表?我正在使用Python 3.x和Boto3,并且在创建它之后无法找到它们添加到表中的任何示例。
答案 0 :(得分:2)
通常,是的,可以在创建表后添加全局二级索引(GSI
)。
但是,更改生效可能需要很长时间,因为构建GSI
需要进行表扫描。
如果是boto3
,请查看the documentation for update_table
例如,你尝试这样的事情:
response = client.update_table(
TableName = 'YourTableName',
# ...snip...
GlobalSecondaryIndexUpdates=[
{
'Create': {
'IndexName': 'YourGSIName',
'KeySchema': [
{
'AttributeName': 'YourGSIFieldName',
'KeyType': 'HASH'
}
],
'Projection': {
'ProjectionType': 'ALL'
},
'ProvisionedThroughput': {
'ReadCapacityUnits': 1,
'WriteCapacityUnits': 1
}
}
}
],
# ...snip...
)