【问题标题】:Gzipped response in AWS Lambda -> API GatewayAWS Lambda -> API Gateway 中的 Gzipped 响应
【发布时间】:2015-12-04 12:35:11
【问题描述】:

我似乎无法通过 API 网关从 Lambda 获得压缩响应。 我在 Lambda 中压缩我的响应并在 API Gateway 中设置“Content-Encoding”标头。

我不确定哪一部分是问题所在。

这是从 Lambda 到 API Gateway 的最终返回:

zlib.gzip(myJsonString, function (err, buffer) {
    if ( err ) { return handleError(err, context) }

    return context.succeed(buffer.toString('binary'));
});

我试过只传递缓冲区、base64 编码等。

从 Chrome 发出 GET 请求: 如果我从网关中删除 Content-Encoding 标头,我会在浏览器中获得 binary/base64/buffer 数组作为字符串响应。

如果我设置标头,GET 请求将完全失败,没有响应,但在 AWS 控制台中进行测试会返回带有引号的有效负载。

我不知道这里发生了什么,但如果亚马逊真的希望人们使用这个东西,我们需要能够压缩我们的响应。似乎它应该只是 API Gateway 中的一个复选框,然后我可以简单地从 Lambda 返回一个 JSON 字符串并自动压缩它。

【问题讨论】:

  • 我也有同样的问题,这至少可以说是令人失望的:/ 为什么不是每个人都使用 APIG 作为 REST API 来抱怨这个? :)

标签: node.js amazon-web-services gzip aws-lambda aws-api-gateway


【解决方案1】:

至于 2016 年 11 月 17 日 - Binary Data Now Supported by API Gateway

如果你发现了,请告诉我!

【讨论】:

猜你喜欢
  • 2015-10-21
  • 1970-01-01
  • 2016-09-14
  • 2018-03-22
  • 2019-06-04
  • 2017-09-19
  • 2017-10-04
  • 2016-12-15
  • 1970-01-01
相关资源
最近更新 更多