AWS API网关压缩响应

时间:2017-01-10 06:59:07

标签: aws-api-gateway

据我所知,截至2016年11月,API Gateway现在支持二进制媒体类型。是否可以从lambda代理返回压缩的HTTP?

我有一个需要返回压缩输出的快速js应用程序(来自数据库查询),否则响应主体超出了lambda响应体限制。

谢谢!

1 个答案:

答案 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"}]'

See example of binary support with Lambda.