如何通过Python / Boto3添加DynamoDB全局二级索引

时间:2018-04-18 01:32:29

标签: amazon-dynamodb boto3 python-ggplot

是否可以在创建后添加全局二级索引和现有DynamoDB表?我正在使用Python 3.x和Boto3,并且在创建它之后无法找到它们添加到表中的任何示例。

1 个答案:

答案 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...
)