API Gateway调用DynamoDB batchGetItem的响应大小限制及处理问询
API Gateway处理DynamoDB batchGetItem大响应的行为及负载限制说明
我来帮你理清这两个关键问题:
1. 当batchGetItem响应超过限制时的处理逻辑
首先得明确两个层级的限制:DynamoDB的batchGetItem操作本身会在响应达到16MB时自动截断结果,并返回LastEvaluatedKey供后续分页查询。但API Gateway的最大响应负载限制是10MB——这比DynamoDB的16MB上限更低。
所以如果batchGetItem返回的响应(哪怕是截断后的)超过了10MB,API Gateway会直接拒绝转发这个响应,给客户端返回413 Payload Too Large错误。你不会收到完整的响应内容,需要通过分页的方式拆分请求,确保每次batchGetItem的返回结果控制在10MB以内。
2. 10MB负载限制是否同时适用于请求和响应
是的,AWS API Gateway的10MB最大负载限制是双向的:
- 客户端发送给API Gateway的请求体大小如果超过10MB,会被拦截并返回413错误;
- 后端服务(比如DynamoDB)返回给API Gateway的响应体大小如果超过10MB,同样会被拦截,返回413错误给客户端。
这个限制是API Gateway的硬性阈值,无法通过常规配置调整,所以在设计基于API Gateway的DynamoDB操作时,必须把请求和响应的大小都控制在10MB以内。
内容的提问来源于stack exchange,提问作者arushi gupta
相关产品推荐
相关产品推荐

