

# API Gateway での REST API のペイロード圧縮
<a name="api-gateway-gzip-compression-decompression"></a>

 API Gateway を使用すると、[サポートされているコンテンツコーディング](api-gateway-enable-compression.md#api-gateway-supported-content-encodings)のいずれかを使用して、圧縮されたペイロードで API を呼び出すことができます。デフォルトでは、API Gateway はメソッドリクエストペイロードの解凍をサポートしています。ただし、メソッドレスポンスペイロードの圧縮を有効にするように API を設定する必要があります。

 [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html) で圧縮を有効にするには、API を作成するとき、または API を作成した後に、[https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#minimumCompressionSize](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#minimumCompressionSize) プロパティを 0 から 10485760 (10M バイト) の間の負でない整数に設定します。API で圧縮を無効にするには、`minimumCompressionSize` を null に設定するか、または完全に削除します。API Gateway コンソール、AWS CLI、または API Gateway REST API を使用して、API の圧縮を有効または無効にすることができます。

任意のサイズのペイロードに圧縮を適用する場合は、`minimumCompressionSize` 値をゼロに設定します。ただし、小さいサイズのデータを圧縮すると、実際にはデータサイズが大きくなる可能性があります。さらに、API Gateway での圧縮とクライアントでの解凍は、全体のレイテンシーを増加させ、より多くの計算時間を必要とする可能性があります。API に対してテストケースを実行して、最適な値を決定する必要があります。

クライアントは、API Gateway に対して、圧縮ペイロードと適切な `Content-Encoding` ヘッダーを含む API リクエストを送信して、統合エンドポイントにリクエストを渡す前に、解凍して適用可能なマッピングテンプレートを適用できます。圧縮が有効になって API がデプロイされた後、メソッドリクエストに適切な `Accept-Encoding` ヘッダーが指定されている場合、クライアントは圧縮されたペイロードで API レスポンスを受け取ることができます。

統合エンドポイントが圧縮されていない JSON ペイロードを想定して返すとき、圧縮されていない JSON ペイロード用に設定されたマッピングテンプレートは、圧縮されたペイロードに適用されます。圧縮されたメソッドリクエストペイロードの場合、API Gateway はペイロードを解凍し、マッピングテンプレートを適用して、マップされたリクエストを統合エンドポイントに渡します。圧縮されていない統合レスポンスペイロードの場合、API Gateway はマッピングテンプレートを適用し、マップされたペイロードを圧縮し、圧縮されたペイロードをクライアントに返します。

**Topics**
+ [API Gateway で API のペイロード圧縮を有効にする](api-gateway-enable-compression.md)
+ [API Gateway で圧縮されたペイロードで API メソッドを呼び出す](api-gateway-make-request-with-compressed-payload.md)
+ [API Gateway で圧縮されたペイロードで API レスポンスを受信する](api-gateway-receive-response-with-compressed-payload.md)