

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beispiel 1: Datenanreicherung
<a name="monetization-functions-examples-enrichment"></a>

## Szenario
<a name="monetization-functions-examples-enrichment-scenario"></a>

Ein Streaming-Dienst möchte zu Beginn der Sitzung Daten zur Zielgruppen-Identität von einem externen Dienst (in diesem Fall LiveRamp) abrufen und sie in Player-Parametern speichern, um später in der Sitzung die Anzeigenausrichtung zu ermöglichen. Ein Identitätsumschlag ist eine verschlüsselte Kennung, die von einem Dienst zur Identitätsauflösung bereitgestellt wird und es Werbesystemen ermöglicht, einen Zuschauer geräte- und plattformübergreifend zu erkennen, ohne persönliche Informationen preiszugeben.

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

** LiveRamp Umschlag abrufen (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%}"
        }
    }
}
```

**Anmerkung**  
Ersetzen Sie es `Bearer ramp-token-789` durch Ihre eigenen API-Anmeldeinformationen. Speichern Sie sensible Token nicht direkt in Funktionskonfigurationen in der Produktion. Erwägen Sie die Verwendung einer Token-Rotationsstrategie.

Wird auf der `RequestTimeoutMilliseconds` Grundlage der erwarteten Antwortzeit Ihres externen Dienstes festgelegt. Ein niedrigerer Wert reduziert die Latenz, erhöht jedoch die Wahrscheinlichkeit von Timeoutfehlern.

## Zuordnung von Funktionen
<a name="monetization-functions-examples-enrichment-mapping"></a>

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

## Was passiert, wenn die Funktion ausgeführt wird
<a name="monetization-functions-examples-enrichment-runtime"></a>

1. Ein Zuschauer startet eine Wiedergabe-Sitzung.

1. MediaTailor führt den `PRE_SESSION_INITIALIZATION` Lifecycle-Hook aus und läuft`fetchLiveRamp`.

1. Die Funktion erstellt die Anforderungs-URL mithilfe der LiveRamp API `player_params.hashedId` und ruft sie auf. In der URL befinden `pid` sich die Partner-ID und `iv` die Hash-ID des Betrachters.

1. Der Ausgabeausdruck extrahiert den Wert aus dem ersten Envelope im Antwort-Array (`response.body.envelopes[0].value`) und schreibt ihn in. `player_params.envelope_id`

**Tipp**  
Um Fehler explizit zu behandeln, überprüfen Sie dies, `response.statusCode` bevor Sie auf die Antwortdaten zugreifen: `{%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}`

Weitere Informationen dazu finden Sie unter [HTTP\_ANFRAGE](monetization-functions-types-http-request.md), [PRE\_SESSION\_INITIALIZATION](monetization-functions-hooks-pre-session.md), [Problembehandlung und Überwachung](monetization-functions-troubleshooting.md) und [Einschränkungen](monetization-functions-limits.md).