コンテンツにスキップ

Amazon API Gatewayでバイナリデータを返す

API Gateway を使ってバイナリデータを返却する場合、設定が必要だったのでメモしとく。

困ってること

画像が表示されない。

細かいこと書くのがめんどうなので図にしました。

occurrence.png

やったこと

API Gatewayの設定でバイナリメディアタイプに text/html を設定

Lambdaプロキシ統合を使用して、バイナリデータを処理するAPI Gateway APIを設定するにはどうすればよいですか? によると、ブラウザから送信してるAcceptヘッダーのデフォルトが text/html らしいので、バイナリメディアタイプとして追加する必要があるらしい。

注: ウェブブラウザは複数の値を含む Accept ヘッダーを自動的に送信します。デフォルトでは、最初の値は常に html/text です。API Gateway は最初の値のみを参照するので、text/html をバイナリメディアタイプとして API に追加する必要があります。そうでないと、次のエラーメッセージが表示されます