放置项API调用的AWS DynamoDB限制为400KB。我正在放置一个Python字典,其字典大小是使用sys.getsizeof()
方法计算的。即使该方法返回的值小于400000字节,put项目操作也会引发异常:
An error occurred (ValidationException) when calling the PutItem operation: Item size has exceeded the maximum allowed size'
在计算确切尺寸方面我缺少什么吗?
答案 0 :(得分:0)
您最有可能拥有一个或多个local secondary indexes:
索引项使用的空间量是以下各项的总和:
- 基表主键(分区键和排序键)的大小(以字节为单位)
- 索引键属性的大小(以字节为单位)
- 投影属性的大小(以字节为单位)
每个索引项- 100字节的开销
以及The DynamoDB limits的注释:
对于表上的每个本地二级索引,以下各项的总数限制为400 KB:
- 表中项目数据的大小。
- 与该项目相对应的本地二级索引条目的大小,包括其键值和预计的属性。
换句话说,您需要填充每个项目的大小,因为PutItem需要为项目和索引数据提供足够的空间,并且两者的总和必须小于400kb。