首页 文章

AWS API网关压缩响应

提问于
浏览
3

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

我有一个快速js应用程序需要返回压缩输出(从数据库查询),否则响应体超过lambda响应体限制 .

谢谢!

1 回答

  • 1

    您可以将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.

相关问题