You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS Lambda与API Gateway在GoLang中上传下载二进制文件?

用AWS Lambda+API Gateway代理集成处理API调用的关键限制与注意事项

核心限制与常见坑点

1. 有效负载大小硬限制

API Gateway代理集成对请求和响应的负载有严格上限:

  • 请求负载最大6MB
  • 响应负载最大6MB
    一旦超出,直接返回413(请求过大)或502(网关错误),必须提前做分片传输或者压缩处理,别等报错才想起这事。

2. 有效负载编码的棘手问题

代理集成会自动根据内容类型处理编码,但很容易踩坑:

  • 文本/JSON类型:默认用UTF-8编码传递,Lambda里拿到的body就是直接可用的字符串,不用额外解码
  • 二进制数据:这是最容易出问题的地方,主要有两种处理路径:
    • 二进制blob(bytes)方式:得先在API Gateway里配置二进制媒体类型,把你要处理的Content-Type(比如image/png、application/octet-stream)加进白名单。这时Lambda收到的body是base64编码的字符串,同时isBase64Encoded字段为true,需要手动把它解码成bytes才能用。
    • base64编码字符串方式:如果没配置二进制媒体类型,API Gateway会自动把二进制数据转成base64字符串传给Lambda。虽然不用配置网关,但这种方式会让负载体积凭空增加约33%,更容易触发上面说的大小限制,尽量少用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:48:21