Python AWS DynamoDB对小于400KB的项目设置项目大小限制例外
put项API调用的AWS DynamoDB限制为400KB。我正在放置一个Python字典,它的大小是使用Python AWS DynamoDB对小于400KB的项目设置项目大小限制例外,python,amazon-web-services,amazon-dynamodb,boto3,Python,Amazon Web Services,Amazon Dynamodb,Boto3,put项API调用的AWS DynamoDB限制为400KB。我正在放置一个Python字典,它的大小是使用sys.getsizeof()方法计算的。即使该方法返回的值小于400000字节,put项操作也会引发异常: 调用PutItem操作时发生错误(ValidationException):项大小已超过允许的最大大小“ 在计算确切的尺寸时,我是否遗漏了一些东西?您很可能有一个或多个: 索引项使用的空间量是以下各项的总和: 基表主键(分区键和排序键)的大小(字节) 索引键属性的大小(以字节为单
sys.getsizeof()
方法计算的。即使该方法返回的值小于400000字节,put项操作也会引发异常:
调用PutItem操作时发生错误(ValidationException):项大小已超过允许的最大大小“
在计算确切的尺寸时,我是否遗漏了一些东西?您很可能有一个或多个: 索引项使用的空间量是以下各项的总和:
- 基表主键(分区键和排序键)的大小(字节)
- 索引键属性的大小(以字节为单位)
- 投影属性的大小(以字节为单位)(如果有)
- 每个索引项100字节的开销
- 表中项目数据的大小
- 与该项对应的本地二级索引项的大小,包括其键值和投影属性
换句话说,您需要填充每个项目的大小,因为PutItem需要足够的空间来放置项目和索引数据,并且两者的总和必须小于400kb。您很可能有一个或多个: 索引项使用的空间量是以下各项的总和:
- 基表主键(分区键和排序键)的大小(字节)
- 索引键属性的大小(以字节为单位)
- 投影属性的大小(以字节为单位)(如果有)
- 每个索引项100字节的开销
- 表中项目数据的大小
- 与该项对应的本地二级索引项的大小,包括其键值和投影属性
换句话说,您需要填充每个项目的大小,因为PutItem需要足够的空间来放置项目和索引数据,并且这两个数据的总和需要小于400kb。在发布问题后,我发现了这个解决方案:,就像您指出的那样,为每个索引复制数据。因此,大小计算应该考虑表中额外的LSI。在发布问题后,我发现了这个解决方案:,就像您所指出的那样,为每个索引复制数据。因此,尺寸计算应考虑表中的额外LSI。