이 섹션에서는 현재 API Gateway에서 WebSocket API에 대해 지원되는 변수 집합을 요약합니다.
파라미터 | 설명 |
---|---|
$context.connectionId |
클라이언트에 대한 콜백을 만드는 데 사용할 수 있는 고유한 연결 ID입니다. |
$context.connectedAt |
Epoch |
$context.domainName |
WebSocket API의 도메인 이름입니다. 하드 코딩된 값 대신 클라이언트에 콜백하는 데 사용할 수 있습니다. |
$context.eventType |
이벤트 유형: |
$context.messageId |
메시지의 고유 서버 측 ID. |
$context.routeKey |
선택한 라우팅 키. |
$context.requestId |
|
$context.extendedRequestId |
API 호출에 대해 자동으로 생성된 ID로 디버깅/문제 해결에 유용한 정보가 포함합니다. |
$context.apiId |
식별자 API Gateway가 API에 할당합니다. |
$context.authorizer.principalId |
클라이언트가 전송한 토큰과 연결되고 API Gateway Lambda 권한 부여자(이전에는 사용자 지정 권한 부여자라고 함) Lambda 함수에서 반환한 보안 주체 사용자 식별입니다. |
$context.authorizer. |
API Gateway Lambda 권한 부여자 함수에서 반환된
|
$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 사용자 풀의 자격 증명의 경우 사용 가능한 Amazon Cognito 인증 공급자에 대한 자세한 내용은 Amazon Cognito 개발자 안내서의 페더레이션 자격 증명 사용을 참조하세요. |
$context.identity.cognitoAuthenticationType |
요청을 작성한 호출자의 Amazon Cognito 인증 유형입니다. Amazon Cognito 자격 증명으로 요청을 서명한 경우에만 사용할 수 있습니다. 가능한 값에는 인증 자격 증명에 대한 |
$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 |
CLFdd/MMM/yyyy:HH:mm:ss
+-hhmm )입니다. |
$context.requestTimeEpoch |
Epoch |
$context.stage |
API 호출의 개발 단계입니다(예: 베타 또는 프로덕션). |
$context.status |
응답 상태입니다. |
$input.body |
원시 페이로드를 문자열로 반환합니다. |
$input.json(x) |
이 함수는 JSONPath 표현식을 평가하고 결과를 JSON 문자열로 반환합니다. 예를 들어, JSONPath에 대한 자세한 내용은 JSONPath |
$input.path(x) |
JSONPath 표현식 문자열 ( 예를 들어,
JSONPath에 대한 자세한 내용은 JSONPath |
$stageVariables. |
|
$stageVariables[' |
|
${stageVariables[' |
|
$util.escapeJavaScript() |
JavaScript 문자열 규칙을 사용하여 문자열의 문자를 이스케이프합니다. 참고이 함수는 일반 작은따옴표(
|
$util.parseJson() |
"문자열화된" JSON을 가져와서 결과의 객체 표현을 반환합니다. 이 함수의 결과를 사용하여 기본적으로 Apache VTL(Velocity Template Language)에서 페이로드 요소에 액세스하고 조작할 수 있습니다. 예를 들어 다음과 같은 페이로드가 있고
다음 매핑 템플릿을 사용하는 경우
출력은 다음과 같습니다.
|
$util.urlEncode() |
문자열을 "application/x-www-form-urlencoded" 형식으로 변환합니다. |
$util.urlDecode() |
"application/x-www-form-urlencoded" 문자열을 디코딩합니다. |
$util.base64Encode() |
데이터를 base64 인코딩 문자열로 인코딩합니다. |
$util.base64Decode() |
데이터를 base64 인코딩 문자열에서 디코딩합니다. |