You need to enable JavaScript to run this app. DynamoDB BatchWriteItem API的16MB与400KB限制计量范围是什么?
优惠活动
大模型
产品
解决方案
定价
更多

DynamoDB BatchWriteItem API的16MB与400KB限制计量范围是什么?

DynamoDB BatchWriteItem 大小限制答疑

提问原文

根据官方文档说明:

BatchWriteItem 操作用于在一张或多张表中写入或删除多个条目。单次 BatchWriteItem 调用最多可写入 16 MB 数据,最多可包含 25 个写入或删除请求,单个待写入条目的最大大小可达 400 KB。

该定义描述较为模糊,16 MB of data 的具体指代不明确,存在以下疑问:

  • 是否指整个 HTTP 请求(请求头+请求体)的总大小?
  • 是否指 RequestItems.* 字段的总大小?
  • 若上一点成立,该统计大小是 marshall(序列化) 后的数据大小,还是 unmarshall(反序列化) 后的数据大小?该疑问同样适用于 Individual items to be written can be as large as 400 KB 的单条目限制。

我未在官方文档中查询到相关细节说明,是否有开发者知晓该限制的具体规则?

实际运行规则

服务端的限额校验全部基于收到的请求载荷的序列化后字节数计算,不存在模糊空间,具体口径如下:

  • 16 MB 总限额的统计范围:仅计算请求体中 RequestItems 字段的序列化后字节大小,不包含HTTP请求头、鉴权头、RequestItems 之外的其他配置类请求参数(比如 ReturnConsumedCapacity 等元字段)的开销,完全不是整个HTTP请求的总大小。
  • 400 KB 单条限额的统计逻辑:和总限额的计算口径完全一致,统计的是序列化后单条写入请求里的 Item 结构的字节大小,不是反序列化后的原始业务对象大小。序列化过程中附带的类型标记、结构格式字节也会计入限额,哪怕用户侧原始对象的大小低于阈值,加上序列化结构的额外开销后超过400 KB,依然会被服务端拒绝。
  • 数量校验规则:单次请求最多支持25个独立的写入/删除操作,即使总大小未达16 MB、单条大小未达400 KB,请求数量超出阈值依然会被直接拒绝。

内容的提问来源于stack exchange,提问作者yaquawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 10:06:04