API Gateway에서 페이로드 응답 스트리밍과 HTTP 프록시 통합 설정 - Amazon API Gateway

API Gateway에서 페이로드 응답 스트리밍과 HTTP 프록시 통합 설정

응답 페이로드 스트리밍을 설정할 때 메서드의 통합 요청에서 응답 전송 모드를 지정합니다. 통합 요청에서 이러한 설정을 구성하여 통합 응답 전후에 API Gateway가 작동하는 방식을 제어합니다. 응답 스트리밍을 사용하는 경우 통합 제한 시간을 최대 15분으로 구성할 수 있습니다.

HTTP_PROXY 통합과 함께 페이로드 응답 스트리밍을 사용하는 경우 API Gateway는 모든 헤더를 완전히 수신할 때까지 HTTP 응답 상태 코드 또는 HTTP 응답 헤더를 전송하지 않습니다.

페이로드 응답 스트리밍과 HTTP 프록시 통합 생성

다음 절차에서는 STREAMresponseTransferMode로 설정된 새 API를 가져오는 방법을 보여 줍니다. 기존 통합 API가 있으며 responseTransferMode를 수정하려면 HTTP 프록시 통합에 대한 응답 전송 모드 업데이트 섹션을 참조하세요.

AWS Management 콘솔
페이로드 응답 스트리밍과 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. Deploy API(API 배포)를 선택합니다.

  2. 스테이지에서 새 스테이지를 선택합니다.

  3. 단계 이름prod를 입력합니다.

  4. (선택 사항) 설명에 설명을 입력합니다.

  5. 배포(Deploy)를 선택합니다.

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 Management 콘솔
HTTP 프록시 통합에 대한 응답 전송 모드 업데이트
  1. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  2. REST API를 선택합니다.

  3. 방법을 선택합니다.

  4. 통합 요청 탭의 통합 요청 설정에서 편집을 선택합니다.

  5. 응답 전송 모드에서 스트림을 선택합니다.

  6. 저장을 선택합니다.

메서드를 업데이트한 후 API를 배포합니다.

API를 배포하려면
  1. Deploy API(API 배포)를 선택합니다.

  2. 스테이지에서 새 스테이지를 선택합니다.

  3. 단계 이름prod를 입력합니다.

  4. (선택 사항) 설명에 설명을 입력합니다.

  5. 배포(Deploy)를 선택합니다.

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를 재배포해야 합니다.