python - AWS DynamoDB 为小于 400KB 的项目设置项目大小限制例外
问题描述
放置项目 API 调用的 AWS DynamoDB 限制为 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。
推荐阅读
- c# - 如何在asp.net mvc中将字段从数据库添加到DropDowList
- node.js - Nest JS 构建不生成 dist 文件夹
- c++ - 无法弄清楚向量的数据在哪里丢失
- json - LimeSurvey:无论如何要使用 get_session_key , JSON-RPC 和 Authwebserver?
- linux - Flutter 的永久 PATH 设置问题
- c++ - 实现栈和队列
- c# - 有人可以帮我解决吗,我的 If else 语句不起作用
- javascript - 如何将选择点移动到输入字段的开头?
- javascript - 无法对嵌套 json 中的元素进行排序
- r - 计算威尔逊区间以绘制 R 中的二项式比例?