

# 일반 헬퍼 메서드
<a name="general-helper-methods"></a>

이 페이지에서는 CloudFront Functions 내의 추가 헬퍼 메서드를 제공합니다. 이러한 메서드를 사용하려면 JavaScript 런타임 2.0을 사용하여 CloudFront Functions를 생성합니다.

```
import cf from 'cloudfront';
```

자세한 내용은 [CloudFront Functions를 위한 JavaScript 런타임 2.0 기능](functions-javascript-runtime-20.md) 섹션을 참조하세요.

## `edgeLocation` 메타데이터
<a name="edge-location-metadata"></a>

이 메서드를 사용하려면 `cloudfront` 모듈을 사용해야 합니다.

**참고**  
뷰어 요청 함수에만 이 방법을 사용할 수 있습니다. 뷰어 응답 함수의 경우 이 메서드는 비어 있습니다.

이 JavaScript 객체를 사용하여 요청을 처리하는 데 사용되는 엣지 로케이션 공항 코드, 예상 [리전 엣지 캐시](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches) 리전 또는 CloudFront 서버 IP 주소를 가져옵니다. 이 메타데이터는 뷰어 요청 이벤트 트리거만 사용할 수 있습니다.

```
cf.edgeLocation = {
    name: SEA
    serverIp: 1.2.3.4
    region: us-west-2
}
```

`cf.edgeLocation` 객체에는 다음 사항이 포함될 수 있습니다.

**이름**  
요청을 처리한 엣지 로케이션의 세 글자 [IATA 코드](https://en.wikipedia.org/wiki/IATA_airport_code)입니다.

**serverIp**  
요청을 처리한 서버의 IPv4 또는 IPv6 주소입니다.

**region**  
캐시 누락이 있는 경우 요청이 사용할 것으로 *예상되는* CloudFront 리전 엣지 캐시(REC)입니다. 이 값은 예상 REC를 사용할 수 없고 백업 REC가 요청에 사용되는 경우 업데이트되지 않습니다. 여기에는 사용 중인 Origin Shield 위치가 포함되지 않습니다. 단, 기본 REC와 Origin Shield가 동일한 위치인 경우는 예외입니다.

**참고**  
CloudFront가 오리진 장애 조치를 사용하도록 구성된 경우 CloudFront Functions는 두 번째로 간접 호출되지 않습니다. 자세한 내용은 [CloudFront 오리진 장애 조치를 통한 고가용성 최적화](high_availability_origin_failover.md) 섹션을 참조하세요.

## `rawQueryString()` 메서드
<a name="raw-query-string-method"></a>

이 메서드에는 `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=Boston`  
`rawQueryString()`에서 를 반환합니다.`"name=John&age=25&city=Boston"`

**사례 2: 빈 문자열 반환됨(`?`가 있지만 파라미터가 없는 경우)**  
수신 요청 URL: `https://example.com/page?`  
`rawQueryString()`에서 를 반환합니다.`""`

**사례 3: `undefined` 반환됨(쿼리 문자열 및 `?` 없음)**  
수신 요청 URL: `https://example.com/page`  
`rawQueryString()`에서 를 반환합니다.`undefined`