🐯
Lambda プロキシ統合からバイナリデータを返す
背景
APIGatewayのRESTAPIをS3プロキシとしてバイナリーファイルを取得できるようにしていましたが、取得できるファイルをクエリパラメーターで分岐したくなり、Lambdaを経由するように変更することになりました。
公式ドキュメントがある内容ですが、きちんと読まずにつまずいたので、まとめました。
実装方法
- Lambdaで返却したいバイナリーデータをbase64エンコードする
- LambdaでisBase64EncodedプロパティをTrueにする
- APIGatewayのバイナリーメディアの設定をする
後方互換などを気にする場合、「*/*」を設定することで、クライアントからのAcceptの指定をする必要がなくなります。
APIGatewayのバイナリーメディアの設定については、以下の記事を参考にさせていただきました。
Discussion