View a markdown version of this page

VAST-Anfrage - AWS Elemental MediaTailor

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

Wann sollte dies verwendet werden?

VAST_REQUESTWird 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_REQUESTFunktionen 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.

Felder für die Konfiguration

Eine VAST_REQUEST Funktion hat die folgenden Felder:

  • Runtime — Die Ausdruckssprache. Stellen Sie dies auf einJSONATA.

  • MethodType— Die HTTP-Methode. Unterstützte Werte sind GET (die Standardeinstellung) undPOST.

  • 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ßlichresponse.parsedAds.

Die HTTP-Anforderungslimits, die für HTTP_REQUEST Funktionen gelten, gelten auch hier. Details hierzu finden Sie unter Einschränkungen.

Wie wird die Anfrage bearbeitet

  1. Anfrage erstellen — MediaTailor wertet die Body Ausdrücke UrlHeaders, und anhand des aktuellen Sitzungsstatus aus und sendet dann die Anfrage. POSTAnfragen werden mit dem application/json Inhaltstyp gesendet.

  2. 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 gesendetGET, 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.

  3. 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

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 verwendenadsResponse.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

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ängenPOST_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ügenPRE_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

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 Sieresponse.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

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