为 API 启用负载压缩 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为 API 启用负载压缩

您可以使用 API Gateway 控制台、Amazon CLI 或Amazon开发工具包为 API 启用压缩。

对于现有 API,您必须在启用压缩后部署 API,这样更改才能生效。对于新 API,您可以在 API 设置完成后部署该 API。

注意

最高优先级内容编码必须是 API Gateway 支持的编码。如果不是,将不对响应负载应用压缩。

使用 API Gateway 控制台为 API 启用负载压缩

以下过程介绍如何为 API 启用负载压缩。

使用 API Gateway 控制台启用负载压缩
  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 选择现有 API 或者创建新 API。

  3. 在主导航窗格中,选择 API 设置

  4. API 详细信息部分中,选择编辑

  5. 开启内容编码以启用负载压缩。对于最小正文大小,为最小压缩大小输入数字(字节数)。要关闭压缩,请关闭内容编码选项。

  6. 选择保存更改

使用 Amazon CLI 为 API 启用负载压缩

要使用 Amazon CLI 创建新 API 并启用压缩,请按以下所示调用 create-rest-api 命令:

aws apigateway create-rest-api \ --name "My test API" \ --minimum-compression-size 0

要使用 Amazon CLI 在现有 API 上启用压缩,请按以下所示调用 update-rest-api 命令:

aws apigateway update-rest-api \ --rest-api-id 1234567890 \ --patch-operations op=replace,path=/minimumCompressionSize,value=0

minimumCompressionSize 属性具有 0 到 10485760(10M 字节)之间的非负整数值。它可测量压缩阈值。如果负载大小小于该值,则不会对负载应用压缩或解压缩。将它设置为零允许对任何负载大小进行压缩。

要使用 Amazon CLI 禁用压缩,请按以下所示调用 update-rest-api 命令:

aws apigateway update-rest-api \ --rest-api-id 1234567890 \ --patch-operations op=replace,path=/minimumCompressionSize,value=

您也可以将 value 设置为空字符串 "" 或在上一调用中忽略 value 属性。

API Gateway 支持的内容编码

API Gateway 支持以下内容编码:

  • deflate

  • gzip

  • identity

根据 RFC 7231 规范,API Gateway 还支持以下 Accept-Encoding 标头格式:

  • Accept-Encoding:deflate,gzip

  • Accept-Encoding:

  • Accept-Encoding:*

  • Accept-Encoding:deflate;q=0.5,gzip;q=1.0

  • Accept-Encoding:gzip;q=1.0,identity;q=0.5,*;q=0