首页 > 解决方案 > DynamoDB 批量写入操作超过 20 个属性限制

问题描述

我正在学习 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)

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

谢谢,赛斯

标签: pythonamazon-web-servicesamazon-dynamodb

解决方案


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

数据总是在那里,我只是没有在视图中显示它。


推荐阅读