Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AWS DynamoDB对小于400KB的项目设置项目大小限制例外_Python_Amazon Web Services_Amazon Dynamodb_Boto3 - Fatal编程技术网

Python AWS DynamoDB对小于400KB的项目设置项目大小限制例外

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):项大小已超过允许的最大大小“ 在计算确切的尺寸时,我是否遗漏了一些东西?您很可能有一个或多个: 索引项使用的空间量是以下各项的总和: 基表主键(分区键和排序键)的大小(字节) 索引键属性的大小(以字节为单

put项API调用的AWS DynamoDB限制为400KB。我正在放置一个Python字典,它的大小是使用
sys.getsizeof()
方法计算的。即使该方法返回的值小于400000字节,put项操作也会引发异常:

调用PutItem操作时发生错误(ValidationException):项大小已超过允许的最大大小“


在计算确切的尺寸时,我是否遗漏了一些东西?

您很可能有一个或多个:

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

  • 基表主键(分区键和排序键)的大小(字节)
  • 索引键属性的大小(以字节为单位)
  • 投影属性的大小(以字节为单位)(如果有)
  • 每个索引项100字节的开销
连同本说明,来自:

对于表上的每个本地二级索引,以下内容的总和有400 KB的限制:

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

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

您很可能有一个或多个:

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

  • 基表主键(分区键和排序键)的大小(字节)
  • 索引键属性的大小(以字节为单位)
  • 投影属性的大小(以字节为单位)(如果有)
  • 每个索引项100字节的开销
连同本说明,来自:

对于表上的每个本地二级索引,以下内容的总和有400 KB的限制:

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

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

在发布问题后,我发现了这个解决方案:,就像您指出的那样,为每个索引复制数据。因此,大小计算应该考虑表中额外的LSI。在发布问题后,我发现了这个解决方案:,就像您所指出的那样,为每个索引复制数据。因此,尺寸计算应考虑表中的额外LSI。