일반 헬퍼 메서드
이 페이지에서는 CloudFront Functions 내의 추가 헬퍼 메서드를 제공합니다. 이러한 메서드를 사용하려면 JavaScript 런타임 2.0을 사용하여 CloudFront Functions를 생성합니다.
import cf from 'cloudfront';
자세한 내용은 CloudFront Functions를 위한 JavaScript 런타임 2.0 기능 섹션을 참조하세요.
edgeLocation 메타데이터
이 메서드를 사용하려면 cloudfront 모듈을 사용해야 합니다.
참고
뷰어 요청 함수에만 이 방법을 사용할 수 있습니다. 뷰어 응답 함수의 경우 이 메서드는 비어 있습니다.
이 JavaScript 객체를 사용하여 요청을 처리하는 데 사용되는 엣지 로케이션 공항 코드, 예상 리전 엣지 캐시 리전 또는 CloudFront 서버 IP 주소를 가져옵니다. 이 메타데이터는 뷰어 요청 이벤트 트리거만 사용할 수 있습니다.
cf.edgeLocation = { name: SEA serverIp: 1.2.3.4 region: us-west-2 }
cf.edgeLocation 객체에는 다음 사항이 포함될 수 있습니다.
- 이름
-
요청을 처리한 엣지 로케이션의 세 글자 IATA 코드
입니다. - serverIp
-
요청을 처리한 서버의 IPv4 또는 IPv6 주소입니다.
- region
-
캐시 누락이 있는 경우 요청이 사용할 것으로 예상되는 CloudFront 리전 엣지 캐시(REC)입니다. 이 값은 예상 REC를 사용할 수 없고 백업 REC가 요청에 사용되는 경우 업데이트되지 않습니다. 여기에는 사용 중인 Origin Shield 위치가 포함되지 않습니다. 단, 기본 REC와 Origin Shield가 동일한 위치인 경우는 예외입니다.
참고
CloudFront가 오리진 장애 조치를 사용하도록 구성된 경우 CloudFront Functions는 두 번째로 간접 호출되지 않습니다. 자세한 내용은 CloudFront 오리진 장애 조치를 통한 고가용성 최적화 섹션을 참조하세요.
rawQueryString() 메서드
이 메서드에는 cloudFront 모듈이 필요하지 않습니다.
rawQueryString() 메서드를 사용하여 구문 분석되지 않은 쿼리 문자열과 변경되지 않은 쿼리 문자열을 문자열로 검색합니다.
요청
function handler(event) { var request = event.request; const qs = request.rawQueryString(); }
응답
수신 요청의 전체 쿼리 문자열을 선행 ? 없이 문자열 값으로 반환합니다.
-
쿼리 문자열이 없지만
?가 있는 경우 함수는 빈 문자열을 반환합니다. -
쿼리 문자열이 없고
?가 없는 경우 함수는undefined를 반환합니다.
- 사례 1: 반환된 전체 쿼리 문자열(선행
?없음) -
수신 요청 URL:
https://example.com/page?name=John&age=25&city=BostonrawQueryString()에서 를 반환합니다."name=John&age=25&city=Boston" - 사례 2: 빈 문자열 반환됨(
?가 있지만 파라미터가 없는 경우) -
수신 요청 URL:
https://example.com/page?rawQueryString()에서 를 반환합니다."" - 사례 3:
undefined반환됨(쿼리 문자열 및?없음) -
수신 요청 URL:
https://example.com/pagerawQueryString()에서 를 반환합니다.undefined