

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 예제 1: 데이터 보강
<a name="monetization-functions-examples-enrichment"></a>

## 시나리오
<a name="monetization-functions-examples-enrichment-scenario"></a>

스트리밍 서비스는 세션 시작 시 외부 서비스(이 경우 LiveRamp)에서 대상 ID 데이터를 가져와 세션 후반부에 광고 대상 지정을 위한 플레이어 파라미터에 저장하려고 합니다. 자격 증명 봉투는 광고 시스템이 개인 정보를 노출하지 않고 디바이스 및 플랫폼에서 최종 사용자를 인식할 수 있도록 자격 증명 확인 서비스에서 제공하는 암호화된 식별자입니다.

## 구성
<a name="monetization-functions-examples-enrichment-config"></a>

**LiveRamp 봉투 가져오기(HTTP\_REQUEST):**

```
{
    "FunctionId": "fetchLiveRamp",
    "FunctionType": "HTTP_REQUEST",
    "HttpRequestConfiguration": {
        "Runtime": "JSONATA",
        "MethodType": "GET",
        "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}",
        "Headers": {
            "Authorization": "{%'Bearer ramp-token-789'%}"
        },
        "RequestTimeoutMilliseconds": 2000,
        "Output": {
            "player_params.envelope_id": "{%response.body.envelopes[0].value%}"
        }
    }
}
```

**참고**  
를 자체 API 자격 증명`Bearer ramp-token-789`으로 바꿉니다. 프로덕션의 함수 구성에 민감한 토큰을 직접 저장하지 마십시오. 토큰 교체 전략을 사용하는 것이 좋습니다.

외부 서비스의 예상 응답 시간을 `RequestTimeoutMilliseconds` 기준으로를 설정합니다. 값이 낮을수록 지연 시간이 줄어들지만 제한 시간 오류의 가능성이 높아집니다.

## 함수 매핑
<a name="monetization-functions-examples-enrichment-mapping"></a>

```
{
    "FunctionMapping": {
        "PRE_SESSION_INITIALIZATION": "fetchLiveRamp"
    }
}
```

## 함수 실행 시 발생하는 일
<a name="monetization-functions-examples-enrichment-runtime"></a>

1. 뷰어가 재생 세션을 시작합니다.

1. MediaTailor는 `PRE_SESSION_INITIALIZATION` 수명 주기 후크를 실행하고를 실행합니다`fetchLiveRamp`.

1. 함수는를 사용하여 요청 URL을 빌드`player_params.hashedId`하고 LiveRamp API를 호출합니다. URL에서 `pid`는 파트너 ID이고 `iv`는 해시된 최종 사용자 식별자입니다.

1. 출력 표현식은 응답 배열(`response.body.envelopes[0].value`)의 첫 번째 봉투에서 값을 추출하여에 씁니다`player_params.envelope_id`.

**작은 정보**  
오류를 명시적으로 처리하려면 응답 데이터에 액세스`response.statusCode`하기 전에 다음을 확인하세요. `{%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}` 

자세한 내용은 [HTTP\_REQUEST](monetization-functions-types-http-request.md), [PRE\_SESSION\_초기화](monetization-functions-hooks-pre-session.md), [문제 해결 및 모니터링](monetization-functions-troubleshooting.md) 및 [한도](monetization-functions-limits.md) 부분을 참조하세요.