据我所知,截至2016年11月,API Gateway现在支持二进制媒体类型。是否可以从lambda代理返回压缩的HTTP?
我有一个需要返回压缩输出的快速js应用程序(来自数据库查询),否则响应主体超出了lambda响应体限制。
谢谢!
答案 0 :(得分:2)
您可以将base64编码的String中的压缩数据从Lambda返回到API网关。
然后,您可以使用二进制媒体类型功能将base64编码的String转换回二进制数据,然后再返回到客户端。
如果要强制API网关返回二进制数据而不是尊重接受标头,可以通过CLI将集成响应中的contentHandling属性设置为 CONVENT_TO_BINARY 。
aws apigateway update-integration-response \
--rest-api-id <api-id> \
--resource-id <resource-id> \
--http-method GET \
--status-code 200 \
--patch-operations '[{"op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY"}]'