쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

API Gateway용 WebSocket API 매핑 템플릿 참조

포커스 모드
API Gateway용 WebSocket API 매핑 템플릿 참조 - Amazon API Gateway

이 섹션에서는 현재 API Gateway에서 WebSocket API에 대해 지원되는 변수 집합을 요약합니다.

파라미터 설명
$context.connectionId

클라이언트에 대한 콜백을 만드는 데 사용할 수 있는 고유한 연결 ID입니다.

$context.connectedAt

Epoch 형식 연결 시간입니다.

$context.domainName

WebSocket API의 도메인 이름입니다. 하드 코딩된 값 대신 클라이언트에 콜백하는 데 사용할 수 있습니다.

$context.eventType

이벤트 유형: CONNECT, MESSAGE 또는 DISCONNECT.

$context.messageId

메시지의 고유 서버 측 ID. $context.eventTypeMESSAGE인 경우에만 사용 가능합니다.

$context.routeKey

선택한 라우팅 키.

$context.requestId

$context.extendedRequestId와 동일합니다.

$context.extendedRequestId API 호출에 대해 자동으로 생성된 ID로 디버깅/문제 해결에 유용한 정보가 포함합니다.
$context.apiId

식별자 API Gateway가 API에 할당합니다.

$context.authorizer.principalId

클라이언트가 전송한 토큰과 연결되고 API Gateway Lambda 권한 부여자(이전에는 사용자 지정 권한 부여자라고 함) Lambda 함수에서 반환한 보안 주체 사용자 식별입니다.

$context.authorizer.property

API Gateway Lambda 권한 부여자 함수에서 반환된 context 맵의 지정된 키-값 페어의 문자열화된 값입니다. 예를 들어, 권한 부여자는 다음 context 맵을 반환합니다.

"context" : { "key": "value", "numKey": 1, "boolKey": true }

$context.authorizer.key를 호출하면 "value" 문자열이 반환되고, $context.authorizer.numKey를 호출하면 "1" 문자열이 반환되고, $context.authorizer.boolKey를 호출하면 "true" 문자열이 반환됩니다.

$context.error.messageString $context.error.message의 따옴표 붙은 값, 즉 "$context.error.message"입니다.
$context.error.validationErrorString

세부적인 검증 오류 메시지를 포함하는 문자열입니다.

$context.identity.accountId

요청과 연결된 AWS 계정 ID입니다.

$context.identity.apiKey

키가 활성화된 API 요청에 연결된 API 소유자 키입니다.

$context.identity.apiKeyId 키가 활성화된 API 요청에 연결된 API 키 ID입니다.
$context.identity.caller

요청을 작성한 호출자의 보안 주체 ID입니다.

$context.identity.cognitoAuthenticationProvider

요청을 작성한 직접 호출자가 사용한 모든 Amazon Cognito 인증 공급자의 쉼표로 구분된 목록입니다. Amazon Cognito 자격 증명으로 요청을 서명한 경우에만 사용할 수 있습니다.

예를 들어, Amazon Cognito 사용자 풀의 자격 증명의 경우 cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

사용 가능한 Amazon Cognito 인증 공급자에 대한 자세한 내용은 Amazon Cognito 개발자 안내서페더레이션 자격 증명 사용을 참조하세요.

$context.identity.cognitoAuthenticationType

요청을 작성한 호출자의 Amazon Cognito 인증 유형입니다. Amazon Cognito 자격 증명으로 요청을 서명한 경우에만 사용할 수 있습니다. 가능한 값에는 인증 자격 증명에 대한 authenticated 및 미인증 자격 증명에 대한 unauthenticated이(가) 포함됩니다.

$context.identity.cognitoIdentityId

요청을 작성한 호출자의 Amazon Cognito 자격 증명 ID입니다. Amazon Cognito 자격 증명으로 요청을 서명한 경우에만 사용할 수 있습니다.

$context.identity.cognitoIdentityPoolId

요청을 작성한 호출자의 Amazon Cognito 자격 증명 풀 ID입니다. Amazon Cognito 자격 증명으로 요청을 서명한 경우에만 사용할 수 있습니다.

$context.identity.sourceIp

API Gateway 엔드포인트를 요청하는 즉시 TCP 연결의 소스 IP 주소입니다.

$context.identity.user

요청을 작성한 사용자의 보안 주체 ID입니다.

$context.identity.userAgent

API 호출자의 사용자 에이전트입니다.

$context.identity.userArn

인증 후 식별된 실제 사용자의 ARN(Amazon Resource Name)입니다.

$context.requestTime CLF 형식 요청 시간(dd/MMM/yyyy:HH:mm:ss +-hhmm)입니다.
$context.requestTimeEpoch Epoch 형식 요청 시간(밀리초)입니다.
$context.stage

API 호출의 개발 단계입니다(예: 베타 또는 프로덕션).

$context.status

응답 상태입니다.

$input.body

원시 페이로드를 문자열로 반환합니다.

$input.json(x)

이 함수는 JSONPath 표현식을 평가하고 결과를 JSON 문자열로 반환합니다.

예를 들어, $input.json('$.pets')은 반려 동물 구조를 나타내는 JSON 문자열을 반환합니다.

JSONPath에 대한 자세한 내용은 JSONPath 또는 Java용 JSONPath를 참조하십시오.

$input.path(x)

JSONPath 표현식 문자열 (x)을 가져와서 결과의 JSON 객체로 반환합니다. 이를 통해 기본적으로 Apache Velocity Template Language(VTL)에서 페이로드 요소에 액세스하고 조작할 수 있습니다.

예를 들어, $input.path('$.pets') 표현식이 다음과 같은 객체를 반환할 경우:

[ { "id": 1, "type": "dog", "price": 249.99 }, { "id": 2, "type": "cat", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]

$input.path('$.pets').count()"3"을 반환합니다.

JSONPath에 대한 자세한 내용은 JSONPath 또는 Java용 JSONPath를 참조하십시오.

$stageVariables.<variable_name>

<variable_name>은 단계 변수 이름을 나타냅니다.

$stageVariables['<variable_name>']

<variable_name>은 모든 단계 변수 이름을 나타냅니다.

${stageVariables['<variable_name>']}

<variable_name>은 모든 단계 변수 이름을 나타냅니다.

$util.escapeJavaScript()

JavaScript 문자열 규칙을 사용하여 문자열의 문자를 이스케이프합니다.

참고

이 함수는 일반 작은따옴표(')를 이스케이프된 작은따옴표(\')로 변환합니다. 그러나 이스케이프된 작은따옴표는 JSON에서 유효하지 않습니다. 따라서 이 함수의 결과를 JSON 속성에서 사용할 경우 이스케이프된 작은따옴표(\')를 다시 일반 작은따옴표(')로 변환해야 합니다. 방법은 다음 예제와 같습니다:

$util.escapeJavaScript(data).replaceAll("\\'","'")
$util.parseJson()

"문자열화된" JSON을 가져와서 결과의 객체 표현을 반환합니다. 이 함수의 결과를 사용하여 기본적으로 Apache VTL(Velocity Template Language)에서 페이로드 요소에 액세스하고 조작할 수 있습니다. 예를 들어 다음과 같은 페이로드가 있고

{"errorMessage":"{\"key1\":\"var1\",\"key2\":{\"arr\":[1,2,3]}}"}

다음 매핑 템플릿을 사용하는 경우

#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage'))) { "errorMessageObjKey2ArrVal" : $errorMessageObj.key2.arr[0] }

출력은 다음과 같습니다.

{ "errorMessageObjKey2ArrVal" : 1 }
$util.urlEncode()

문자열을 "application/x-www-form-urlencoded" 형식으로 변환합니다.

$util.urlDecode()

"application/x-www-form-urlencoded" 문자열을 디코딩합니다.

$util.base64Encode()

데이터를 base64 인코딩 문자열로 인코딩합니다.

$util.base64Decode()

데이터를 base64 인코딩 문자열에서 디코딩합니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.