Abh*_*aya 5 python amazon-web-services amazon-dynamodb boto3
AWS DynamoDB 对放置项目 API 调用的限制为 400KB。我正在放置一个Python字典,其大小是使用方法计算的sys.getsizeof()。即使该方法返回的值小于 400000 字节,put item 操作也会抛出异常:
An error occurred (ValidationException) when calling the PutItem operation: Item size has exceeded the maximum allowed size'
在计算确切尺寸方面我缺少什么吗?
您很可能有一个或多个本地二级索引:
索引项使用的空间量是以下各项的总和:
- 基表主键(分区键和排序键)的大小(以字节为单位)
- 索引键属性的大小(以字节为单位)
- 投影属性的大小(以字节为单位)(如果有)
- 每个索引项 100 字节的开销
以及来自DynamoDB 限制的注释:
对于表上的每个本地二级索引,以下总和有 400 KB 的限制:
- 表中项目数据的大小。
- 与该项目对应的本地二级索引条目的大小,包括其键值和投影属性。
换句话说,您需要填充每个项目的大小,因为 PutItem 需要足够的空间来容纳该项目和索引数据,并且两者的总和需要小于 400kb。