python - 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)
有谁知道绕过这个限制的方法?根据文档,除了辅助键之外,我没有看到属性计数的任何限制。
谢谢,赛斯
解决方案
来看看,我没有意识到默认情况下网络查看器隐藏了列。在 dynamodb 表格控制台中,您可以单击右上角的齿轮图标来隐藏和显示列。
数据总是在那里,我只是没有在视图中显示它。
推荐阅读
- angular5 - 更新后的 Outlook 客户端上的 Web 插件不起作用,F12 调试器“SCRIPT70:权限被拒绝”
- asciidoctor - 在 maven pom.xml 中激活 asciidoctor 图扩展 Plantuml
- python-3.x - 如何使用 python-telegram-bot 获取电报机器人对象
- kotlin - Kotlin:为什么你可以在 Promise 列表中调用 awaitAll?
- php - 我想通过检查整个数据库条件来禁用该按钮
- javascript - 为什么 date.toLocalString() 返回两种不同的格式?
- laravel - 以下用户的用户信息
- docker - 使用 TCP 的 App Engine PostgreSQL 连接错误
- java - Android forceWifiUsage 不适用于 Android pie(9)
- php - 如何从 foreach 语句生成的结果中获取相应的值