API Gateway でペイロードレスポンスストリーミングと HTTP プロキシ統合を設定する - Amazon API Gateway

API Gateway でペイロードレスポンスストリーミングと HTTP プロキシ統合を設定する

レスポンスペイロードストリーミングを設定するときは、メソッドの統合リクエストでレスポンス転送モードを指定します。これらの設定は、統合リクエストで設定して、統合レスポンスの前と最中に API Gateway がどのように動作するかを制御します。レスポンスストリーミングを使用すると、統合タイムアウトを最大 15 分まで設定できます。

HTTP_PROXY 統合でペイロードレスポンスストリーミングを使用する場合、API Gateway はすべてのヘッダーを完全に受信するまで、HTTP レスポンスステータスコードまたは HTTP レスポンスヘッダーを送信しません。

ペイロードレスポンスストリーミングとの HTTP プロキシ統合を作成する

次の手順では、responseTransferModeSTREAM に設定して新しい API をインポートする方法を示します。既存の統合 API があり、responseTransferMode を変更する場合は、「HTTP プロキシ統合のレスポンス転送モードを更新する」を参照してください。

AWS マネジメントコンソール
ペイロードレスポンスストリーミングとの HTTP プロキシ統合を作成するには
  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. REST API を選択します。

  3. [リソースの作成] を選択します。

  4. [リソース名]streaming と入力します。

  5. [リソースの作成] を選択します。

  6. [/streaming] リソースを選択した状態で、[メソッドを作成] を選択します。

  7. [メソッドタイプ] で、[任意] を選択します。

  8. [統合タイプ] で、 [HTTP] を選択します。

  9. [HTTP プロキシ統合] を選択します。

  10. [レスポンス転送モード] で、[ストリーム] を選択します。

  11. [HTTP メソッド] の場合は、メソッドを選択します。

  12. [エンドポイント URL] には、統合エンドポイントを入力します。ストリーミングで返される大きなペイロードを生成するエンドポイントを必ず選択してください。

  13. [メソッドの作成] を選択します。

メソッドを作成したら、API をデプロイします。

API をデプロイするには
  1. [API のデプロイ] を選択します。

  2. [ステージ][新規ステージ] を選択します。

  3. [Stage name (ステージ名)] に prod と入力します。

  4. (オプション) [説明] に説明を入力します。

  5. [デプロイ] をクリックします。

AWS CLI
ペイロードレスポンスストリーミングを使用して新しい API を作成するには
  1. 以下の Open API ファイルをコピーし、ResponseStreamDemoSwagger.yaml として保存します。このファイルでは、responseTransferModeSTREAM に設定されます。統合エンドポイントは https://example.com に設定されていますが、大きなペイロードを生成するエンドポイントに変更して再ストリーミングすることをお勧めします。

    openapi: "3.0.1" info: title: "ResponseStreamingDemo" version: "2025-04-28T17:28:25Z" servers: - url: "{basePath}" variables: basePath: default: "prod" paths: /streaming: get: x-amazon-apigateway-integration: httpMethod: "GET" uri: "https://example.com" type: "http_proxy" timeoutInMillis: 900000 responseTransferMode: "STREAM"
  2. 次の import-rest-api コマンドを使用して、OpenAPI 定義をインポートします。

    aws apigateway import-rest-api \ --body 'fileb://~/ResponseStreamDemoSwagger.yaml' \ --parameters endpointConfigurationTypes=REGIONAL \ --region us-west-1
  3. 次の create-deployment コマンドを使用して、新しい API をステージにデプロイします。

    aws apigateway create-deployment \ --rest-api-id a1b2c3 \ --stage-name prod \ --region us-west-1

HTTP プロキシ統合のレスポンス転送モードを更新する

次の手順は、HTTP プロキシ統合のレスポンス転送モードを更新する方法を示しています。

AWS マネジメントコンソール
HTTP プロキシ統合のレスポンス転送モードを更新するには
  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. REST API を選択します。

  3. メソッドを選択します。

  4. [統合リクエスト] タブの [統合リクエストの設定] で、[編集] を選択します。

  5. [レスポンス転送モード] で、[ストリーム] を選択します。

  6. [保存] を選択します。

メソッドを更新したら、API をデプロイします。

API をデプロイするには
  1. [API のデプロイ] を選択します。

  2. [ステージ][新規ステージ] を選択します。

  3. [Stage name (ステージ名)] に prod と入力します。

  4. (オプション) [説明] に説明を入力します。

  5. [デプロイ] をクリックします。

AWS CLI

次の update-integration コマンドは、統合の転送モードを BUFFERED から STREAM に更新します。既存の API の場合、すべての統合のレスポンス転送モードは BUFFERED に設定されます。

aws apigateway update-integration \ --rest-api-id a1b2c3 \ --resource-id aaa111 \ --http-method GET \ --patch-operations "op='replace',path='/responseTransferMode',value=STREAM" \ --region us-west-1

変更を有効にするには、API を再デプロイする必要があります。統合タイムアウトをカスタマイズした場合、API Gateway がレスポンスを最大 5 分間ストリーミングするため、このタイムアウト値は削除されます。

次の update-integration コマンドは、統合の転送モードを STREAM から BUFFERED に更新します。

aws apigateway update-integration \ --rest-api-id a1b2c3 \ --resource-id aaa111 \ --http-method GET \ --patch-operations "op='replace',path='/responseTransferMode',value=BUFFERED" \ --region us-west-1

変更を有効にするには、API を再デプロイする必要があります。