为 API 启用负载压缩 - Amazon API Gateway

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 API 启用负载压缩

API Gateway 允许您的客户端使用支持的内容编码之一调用具有压缩负载的 API。默认情况下,API Gateway 支持解压缩方法请求负载。但是,您必须配置 API 以启用方法响应负载的压缩。

要在 API 上启用压缩,请在创建 API 时或在创建 API 之后,将 minimumCompressionsSize 属性设置为介于 0 到 10485760(10M 字节)之间的非负整数。要在 API 上禁用压缩,请将 minimumCompressionSize 设置为空值或者将属性与值一起删除。您可以使用 API Gateway 控制台、AWS CLI 或 API Gateway REST API 为 API 启用或禁用 API 压缩。

如果您希望在任意大小的负载上应用压缩,请将 minimumCompressionSize 值设置为零。不过,压缩较小大小的数据实际上可能会增加最终数据大小。此外,API Gateway 中的压缩和客户端中的解压缩可能会增加总体延迟并需要更多的计算时间。您应该根据 API 运行测试用例,确定最佳值。

客户端可以针对 API Gateway 提交具有压缩负载及合适 Content-Encoding 标头的 API 请求,以解压缩并应用适用的映射模板,然后再将请求传递到集成端点。启用解压缩并部署了 API 之后,如果在方法请求中指定了合适的 Accept-Encoding 标头,客户端可以接收具有压缩负载的 API 响应。

当集成终端节点预期并返回了未压缩的 JSON 负载时,为未压缩 JSON 负载配置的任何映射模板适用于压缩负载。对于压缩方法请求负载,API Gateway 解压缩负载,应用映射模板,然后将映射的请求传递到集成终端节点。对于未压缩的集成响应负载,API Gateway 应用映射模板,压缩映射的负载,并将压缩的负载返回客户端。