DynamoDB批量写入操作的属性限制超过20个

时间:2018-12-13 21:43:03

标签: python amazon-web-services amazon-dynamodb

我正在学习AWS DynamoDB。我一直在尝试使用Python和批量写入操作将csv批量上传到表中。我能够成功输入数据,但是只能输入20个属性(包括主键)。但是,我的数据有157个属性。我正在使用Dynamo按需层,而不是免费层。

我的代码与aws示例基本相同:

def dynamodb_batch_write(table_name, file):
    dynamodb_obj = boto3.resource('dynamodb', region_name='us-east-1')
    table = dynamodb_obj.Table(table_name)

    with table.batch_writer() as batch:
        for row in file:
            batch.put_item(Item=row)
    return True

sample_import = read_csv('sample-files/SampleFile2.csv')
import_iter = iter(sample_import)
for startrow in range(0, len(sample_import), 25):
    row_slice = None
    row_slice = islice(import_iter, 0, 25)
    upload = dynamodb_batch_write('custom-sample2', row_slice)

有人知道绕过此限制的方法吗?根据文档,除了辅助键之外,我没有看到对属性计数的任何限制。

谢谢, 赛斯

1 个答案:

答案 0 :(得分:1)

来找出答案,我没有意识到默认情况下Web查看器隐藏了列。在dynamodb表控制台中,您可以单击右上角的齿轮图标以隐藏和显示列。

数据始终存在,我只是没有在视图中显示它。