2018年3月1日木曜日

API Gatewayでバイナリペイロードをサポートする場合の注意点


API Gatewayでバイナリペイロードをサポートする場合は、RestApiリソースの binaryMediaTypesにメディアタイプを追加します。


そうすると、ペイロードがBase64でエンコードされ渡されます。

ただ、API Gatewayサポートされているコンテンツコーディングのいずれかで圧縮されたペイロードで呼び出された場合、ペイロードを自動的に解凍します。

優先順位的には自動解凍が先に行われるようで、gzipで圧縮されたペイロードをそのまま送ろうとする場合は、Content-EncodingHTTP headerから除去しないと、解凍されたペイロードがBase64でエンコードされ渡されます。