기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
WebSocket API에 대한 데이터 변환 설정
API Gateway에서 WebSocket API 메서드 요청은 백엔드의 요구에 따라 해당하는 통합 요청 페이로드에서 여러 유형의 페이로드를 취할 수 있습니다. 마찬가지로 백엔드에서는 프런트 엔드에서 기대하는 메서드 응답 페이로드가 아니라 통합 응답 페이로드를 반환할 수 있습니다.
API Gateway에서는 매핑 템플릿을 사용하여 방법 요청에서 해당 통합 요청으로, 통합 요청에서 해당 방법 요청으로 페이로드를 매핑할 수 있습니다. 템플릿 선택 표현식을 지정하여 필요한 데이터 변환을 수행하는 데 사용할 템플릿을 결정합니다.
데이터 매핑을 사용하면 라우팅 요청의 데이터를 백엔드 통합에 매핑할 수 있습니다. 자세한 내용은 WebSocket API에 대한 데이터 매핑 설정 단원을 참조하십시오.
매핑 템플릿 및 모델
매핑 템플릿이란 VTL(Velocity Template Language)
페이로드는 JSON 스키마 draft 4
템플릿 선택 표현식
매핑 템플릿을 사용하여 페이로드를 변환하려면 통합 요청 또는 통합 응답에서 WebSocket API 템플릿 선택 표현식을 지정합니다. 이 표현식은 요청 본문을 (입력 템플릿을 통해) 요청 본문으로 변환하거나 통합 응답 본문을 (출력 템플릿을 통해) 라우팅 응답 본문으로 변환하는 데 사용할 입력 또는 출력 템플릿(있는 경우)를 판별하기 위해 평가됩니다.
Integration.TemplateSelectionExpression
은 ${request.body.jsonPath}
와 정적 값을 지원합니다.
IntegrationResponse.TemplateSelectionExpression
은 ${request.body.jsonPath}
, ${integration.response.statuscode}
, ${integration.response.header.headerName}
, ${integration.response.multivalueheader.headerName}
및 정적 값을 지원합니다.
통합 응답 선택 표현식
WebSocket API에 대해 통합 응답을 설정할 때 선택적으로 통합 응답 선택 표현식을 지정할 수 있습니다. 이 표현식은 통합이 반환될 때 어떤
가 선택되어야 하는지 결정합니다. 이 표현식의 값은 현재 아래에 정의된 대로 API 게이트웨이에 의해 제한됩니다. 이 표현식은 비 프록시 통합에만 해당한다는 점에 유의하십시오. 프록시 통합은 모델링이나 수정 없이 단순히 응답 페이로드를 호출자에게 다시 전달하기만 합니다.IntegrationResponse
이전의 다른 선택 표현식과 달리 이 표현식은 현재 패턴 일치 형식을 지원합니다. 표현식은 슬래시로 래핑해야 합니다.
현재 이 값은
에 따라 고정됩니다.integrationType
-
Lambda 기반 통합의 경우
$integration.response.body.errorMessage
입니다. -
HTTP
및MOCK
통합의 경우$integration.response.statuscode
입니다. -
HTTP_PROXY
및AWS_PROXY
의 경우 페이로드가 호출자에게 패스스루 되도록 요청하기 때문에 표현식이 사용되지 않습니다.