对于小于400KB的项目,AWS DynamoDB放置了项目大小限制例外

时间:2019-09-20 15:28:51

标签: python amazon-web-services amazon-dynamodb boto3

放置项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'

在计算确切尺寸方面我缺少什么吗?

1 个答案:

答案 0 :(得分:0)

您最有可能拥有一个或多个local secondary indexes

  

索引项使用的空间量是以下各项的总和:

     
      
  • 基表主键(分区键和排序键)的大小(以字节为单位)
  •   
  • 索引键属性的大小(以字节为单位)
  •   
  • 投影属性的大小(以字节为单位)
  •   每个索引项
  • 100字节的开销
  •   

以及The DynamoDB limits的注释:

  

对于表上的每个本地二级索引,以下各项的总数限制为400 KB:

     
      
  • 表中项目数据的大小。
  •   
  • 与该项目相对应的本地二级索引条目的大小,包括其键值和预计的属性。
  •   

换句话说,您需要填充每个项目的大小,因为PutItem需要为项目和索引数据提供足够的空间,并且两者的总和必须小于400kb。