

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.

# VAST-Anfrage
<a name="monetization-functions-types-vast-request"></a>

## Wann sollte dies verwendet werden?
<a name="monetization-functions-types-vast-request-when"></a>

`VAST_REQUEST`Wird verwendet, wenn Ihre Funktion Anzeigen von einem VAST-Endpunkt (Video Ad Serving Template) abrufen muss. MediaTailor sendet die Anfrage, analysiert die Antwort als VAST, wobei die Wrapper-Weiterleitungen aufgelöst werden, und stellt die analysierten Anzeigen für Ihre Ausgabeausdrücke zur Verfügung. Zu den häufigsten Anwendungsfällen gehören das Abrufen von Anzeigen von einem sekundären Anzeigenserver, um eine kurze primäre Antwort zu ergänzen, und das Abrufen von Hausanzeigen oder Werbeaktionen, um sie in unterfüllte Werbeblöcke einzufügen.

`VAST_REQUEST`Funktionen werden am Anfang `POST_ADS_RESPONSE` und am `PRE_MANIFEST_INSERTION` Lifecycle-Hook unterstützt, entweder für sich allein oder als Schritte innerhalb eines Executors. Anzeigen, die von einer `VAST_REQUEST` Funktion analysiert werden, werden mit voller Genauigkeit in die Ausgaben dieser Hooks integriert. Details hierzu finden Sie unter [Wie werden geparste Anzeigen in Hook-Ausgaben integriert](#monetization-functions-types-vast-request-store).

## Felder für die Konfiguration
<a name="monetization-functions-types-vast-request-fields"></a>

Eine `VAST_REQUEST` Funktion hat die folgenden Felder:
+ **Runtime ** — Die Ausdruckssprache. Stellen Sie dies auf ein`JSONATA`.
+ **MethodType**— Die HTTP-Methode. Unterstützte Werte sind `GET` (die Standardeinstellung) und`POST`.
+ **Url ** — Der VAST-Endpunkt, an den die Anfrage gesendet werden soll. Sie können eine statische URL oder einen JSONata-Ausdruck verwenden, der die URL dynamisch erstellt. Eine statische URL muss das `https` Schema verwenden.
+ **Header ** — Die HTTP-Header, die in die Anfrage aufgenommen werden sollen, angegeben als Header-Name- und Wertepaare. Verwenden Sie die `{%...%}` Ausdruckssyntax für dynamische Header-Werte.
+ **Text ** — Der zu sendende Anforderungstext. Wird bei `POST` Anfragen verwendet, z. B. um eine OpenRTB-Gebotsanfrage zu senden. Sie können einen JSONata-Ausdruck verwenden, um den Körper dynamisch aufzubauen.
+ **RequestTimeoutMilliseconds**(erforderlich) — Wie lange soll auf eine Antwort gewartet werden?
+ **Ausgabe ** — Definiert die Werte, die nach Abschluss des Aufrufs ausgegeben werden sollen. Jeder Eintrag ordnet einen Ausgabeschlüssel einem Ausdruck zu, der auf das `response` Objekt verweisen kann, einschließlich`response.parsedAds`.

Die HTTP-Anforderungslimits, die für `HTTP_REQUEST` Funktionen gelten, gelten auch hier. Details hierzu finden Sie unter [Einschränkungen](monetization-functions-limits.md).

## Wie wird die Anfrage bearbeitet
<a name="monetization-functions-types-vast-request-phases"></a>

1. **Anfrage erstellen ** — MediaTailor wertet die `Body` Ausdrücke `Url``Headers`, und anhand des aktuellen Sitzungsstatus aus und sendet dann die Anfrage. `POST`Anfragen werden mit dem `application/json` Inhaltstyp gesendet.

1. **Analysiert die Antwort ** — MediaTailor analysiert den Antworttext als VAST. Wenn es sich bei einer Anzeige um einen VAST-Wrapper handelt, MediaTailor folgt er der Weiterleitungskette und löst sie in die endgültige Inline-Anzeige auf. Anfragen zur Wrapper-Weiterleitung werden immer mit gesendet`GET`, wie es die VAST-Spezifikation vorschreibt. Wenn Ihr Endpunkt ein Dokument zurückgibt, das eine VAST-URL statt VAST selbst enthält (wie es einige Bieter tun), verketten Sie einen `HTTP_REQUEST` Schritt, der die URL abruft, gefolgt von einem `VAST_REQUEST` Schritt, der sie abruft.

1. **Verarbeitet die analysierten Anzeigen ** — MediaTailor wertet die Ausdrücke im Ausgabeblock aus. Diese Ausdrücke können auf den ursprünglichen Sitzungsstatus und das `response` Objekt verweisen.

## Antwortfelder
<a name="monetization-functions-types-vast-request-response"></a>

Nach Abschluss des Aufrufs können Sie in Ihren Output-Ausdrücken auf die folgenden Felder verweisen:


| Feld | Typ | Description | 
| --- | --- | --- | 
| response.parsedAds | Array | Die analysierten Anzeigen, wobei die Wrapper-Weiterleitungen aufgelöst wurden. Jede Anzeige hat dieselbe Form wie die adsResponse.ads Einträge am POST\_ADS\_RESPONSE Haken:adId,,durationSeconds,adSystem,adTitle, creativeId sequencemediaFiles, und. trackingEvents Wird auf ein leeres Array gesetzt, wenn der Aufruf fehlschlägt oder die Antwort kein gültiges VAST ist. | 
| response.statusCode | Ganzzahl | Der vom Endpunkt zurückgegebene HTTP-Statuscode. nullAuf bei Netzwerkausfall gesetzt. | 

Da geparste Anzeigen dieselbe Form wie verwenden`adsResponse.ads`, können Sie Ausdrücke zwischen den beiden Oberflächen verschieben, ohne die Feldverweise neu schreiben zu müssen.

## Wie werden geparste Anzeigen in Hook-Ausgaben integriert
<a name="monetization-functions-types-vast-request-store"></a>

Jede Anzeige, die eine `VAST_REQUEST` Funktion analysiert MediaTailor, wird für die Dauer des Hook-Aufrufs intern von gespeichert und anhand der VAST-Anzeigen-ID der Anzeige eingegeben. Dadurch werden geparste Anzeigen in Hook-Ausgaben erstklassig behandelt:
+ Wenn Sie eine geparste Anzeige an `adsResponse.ads` byits anhängen`POST_ADS_RESPONSE`, werden die vollständigen geparsten VAST-Daten der Anzeige `adId` wiederhergestellt, einschließlich der vollständigen Mediendateiliste und der Tracking-Ereignisse.
+ Wenn Sie eine Anzeige nur mit ihren Ziffern einfügen`PRE_MANIFEST_INSERTION`, MediaTailor wählen `vastAdId` wir die beste Mediendatei aus und führen die Registrierung beim Transcodieren automatisch durch.

**Wichtig**  
Die beibehaltenen Anzeigen werden nicht zwischen Hook-Aufrufen übertragen. Ein `VAST_REQUEST` Aufruf unter `POST_ADS_RESPONSE` ist für einen späteren `PRE_MANIFEST_INSERTION` Aufruf nicht verfügbar. Rufen Sie `VAST_REQUEST` die Funktionskette desselben Hooks auf, in der Sie die Ergebnisse verwenden.

## Verhalten bei Fehlern
<a name="monetization-functions-types-vast-request-failure"></a>

Wenn der Aufruf aufgrund eines Netzwerkfehlers oder einer Zeitüberschreitung fehlschlägt, wenn der Endpunkt einen HTTP-Fehler zurückgibt oder wenn die Antwort nicht als VAST analysiert werden kann, `response.parsedAds` handelt es sich um ein leeres Array und die Funktionskette wird fortgesetzt. Prüfen Sie`response.statusCode`, ob ein HTTP-Fehler von einer VAST-Antwort, die wirklich keine Werbung enthält, unterschieden werden kann.

**Tipp**  
Halte dich `RequestTimeoutMilliseconds` fest. Die VAST-Wrapper-Auflösung kann mehrere Netzwerk-Roundtrips beinhalten, und alle werden auf das Timeout des Hooks und das gemeinsame Hook-Budget angerechnet.

## Beispiel: Anzeigen von einem sekundären Anzeigenserver abrufen
<a name="monetization-functions-types-vast-request-example"></a>

Die folgende Funktion ruft Anzeigen von einem Backup-Anzeigenserver ab und speichert die analysierten Anzeigen in temporären Daten. Einen `CUSTOM_OUTPUT` Schritt später in derselben Reihenfolge können sie angehängt werden. `adsResponse.ads` Es ist für den `POST_ADS_RESPONSE` Lifecycle-Hook konzipiert.

```
{
    "FunctionId": "fetchBackupAds",
    "FunctionType": "VAST_REQUEST",
    "VastRequestConfiguration": {
        "Runtime": "JSONATA",
        "MethodType": "GET",
        "Url": "{%'https://backup-ads.example.com/vast?sid=' & session.uuid%}",
        "Headers": {
            "Accept": "application/xml"
        },
        "RequestTimeoutMilliseconds": 1000,
        "Output": {
            "temp.backupAds": "{%response.parsedAds%}"
        }
    }
}
```

Um stattdessen eine OpenRTB-Gebotsanfrage zu senden, setzen Sie `MethodType` auf `POST` und geben Sie die Gebotsanfrage in ein. `Body` Der Bieter muss im Antworttext VAST zurückgeben.

Eine vollständige exemplarische Vorgehensweise für ein ähnliches Beispiel finden Sie unter. [Beispiele für Funktionen](monetization-functions-examples.md)