API Gateway コンソールを使用したバイナリサポートの有効化
このセクションでは、API Gateway コンソールを使用してバイナリサポートを有効にする方法ついて説明します。例として、Amazon S3 と統合された API を使用します。サポートされるメディアタイプを設定するタスクと、ペイロードの処理方法を指定する方法に焦点を当てます。Amazon S3 と統合された API を作成する方法の詳細については、「チュートリアル: API Gateway で REST API を Amazon S3 のプロキシとして作成する」を参照してください。
API Gateway コンソールを使用してバイナリサポートを有効にするには
-
API のバイナリメディアタイプの設定
-
新しい API を作成するか、既存の API を選択します。この例では、API に
FileMan
という名前を付けます。 -
プライマリナビゲーションパネルの選択した API で、[設定] を選択します。
-
[設定] ペインで、[Add Binary Media Type (バイナリメディアタイプ)] セクションの [Add Binary Media (バイナリメディアの追加)] を選択します。
-
必要なメディアタイプ (例:
image/png
) を入力テキストフィールドに入力します。必要に応じて、このステップを繰り返して他のメディアタイプを追加します。すべてのバイナリメディアタイプをサポートするには、*/*
を指定します。 -
[Save Changes] を選択します。
-
-
API メソッドのメッセージペイロードを処理する方法を設定します。
-
API で新しいリソースを作成するか、既存のリソースを選択します。この例では、
/{folder}/{item}
リソースを使用します。 -
リソースで新しいメソッドを作成するか、既存のメソッドを選択します。例として、Amazon S3 で
GET /{folder}/{item}
アクションと統合されたObject GET
メソッドを使用します。 -
[コンテンツの処理] で、オプションを選択します。
クライアントとバックエンドが同じバイナリ形式を受け入れるときに本文を変換しない場合は、[Passthrough (パススルー)] を選択します。たとえば、バイナリリクエストペイロードを JSON プロパティとして渡すことがバックエンドで要求される場合などに、バイナリ本文を Base64 でエンコードされた文字列に変換するには、[Convert to text (if needed) (テキストに変換 (必要な場合))] を選択します。また、クライアントが Base64 でエンコードされた文字列を送信してバックエンドが元のバイナリ形式を要求する場合や、エンドポイントが Base64 でエンコードされた文字列を返してクライアントがバイナリ出力のみ受け入れる場合は、[Convert to binary (if needed) (バイナリに変換 (必要な場合))] を選択します。
-
統合リクエストで、受信リクエストの
Accept
ヘッダーを保持します。これは、contentHandling
をpassthrough
に設定し、ランタイムにその設定を上書きする場合に行う必要があります。 -
リクエストボディでパススルー動作を有効にします。
-
テキストに変換する場合は、Base64 でエンコードされたバイナリデータを必要な形式にするマッピングテンプレートを定義します。
このマッピングテンプレートの形式は、入力のエンドポイント要件によって異なります。
-