Dieses Handbuch behandelt alles, was Sie für den Zugriff und die Verwendung der Live Linear Programm Dataset-API benötigen
Was du lernen wirst |
|
Übersicht
Die Live Linear Programm Dataset-API bietet programmspezifische Zuschauerdaten für Ihre linearen und FAST-Live-Kanäle von Prime Video. Jeder Datensatz steht für eine Fernsehsitzung eines geplanten Programms auf einem Kanal.
Die Daten werden als Changelog mit is_deleted-Signalen für Zeitplankorrekturen geliefert. Zwei Feeds sind verfügbar: Kanäle (linear_program_event_log) und FAST (fast_linear_program_event_log).
Mit diesen Daten können Sie:
- Verfolgen Sie die Zuschauerzahlen auf Programmebene (betrachtete Stunden, Sitzungen) über Stationen, Gebiete, Geräte und Zeit hinweg.
- Analysieren Sie die Leistung nach Sender, Programm, Serie und Inhaltstyp.
- Folgen Sie Zeitplankorrekturen genau, ohne veraltete Zeilen in Ihren Daten zu verwenden.
- Integrieren Sie lineare Live-Zuschauer in Ihre internen Systeme und Datenquellen.
Dashboard-basierte Analysen finden Sie unter: Lineare Programmierung auf Slate Analytics
Die wichtigsten Funktionen
Merkmal |
Einzelheiten |
|---|---|
Detaillierung der Programmstruktur |
Eine Zeile pro Ansichtssitzung, Programm und Zeitplan. Beinhaltet Titel, Sender, Serie, Sendefenster und Wiedergabezeit. |
Signal zum Entfernen |
Ersetzte oder zurückgezogene Zeitpläne werden erneut mit is_deleted = 1 gesendet, was signalisiert, dass sie nicht mehr gültig sind. |
Stabiler, eindeutiger Schlüssel |
Jede Zeile trägt session_program_schedule_id. Verwenden Sie es zum Deduplizieren und Zusammenführen. |
Vereinfachte Einnahme |
Changelog-Modell. Zeitplan wiederkehrende Anrufe und führen Sie dann MERGE ein. Upsert on is_deleted = 0. Hard- oder Soft-Delete bei is_deleted = 1. |
Kohärenz |
Standardisierte Formatierung für alle Gebiete in einer einzigen Quelle. Es sind keine dimensionalen Tabellen pro Gebiet erforderlich. |
Die wichtigsten Konzepte
Konzept |
Description |
|---|---|
Zeile „Sitzungsprogramm — Zeitplan“ |
Eine Sitzung zum Ansehen eines Programms in einem geplanten Slot. Identifiziert durch session_program_schedule_id. |
Changelog-Modell |
Data ist ein Changelog. Wenn sich die Attribute einer Zeile ändern, wird eine neue Version mit derselben session_program_schedule_id und einer neueren last_update_time_utc veröffentlicht. |
Primärer Schlüssel |
session_program_schedule_id ist der eindeutige Bezeichner. Deduplizieren Sie immer in diesem Feld. |
is_deleteded-Signal |
is_deleted = 0 bedeutet, dass der Zeitplan aktiv ist. is_deleted = 1 signalisiert, dass der Zeitplan nicht mehr aktiv oder gültig ist. |
Das Signal wird angewendet |
is_deleted = 0: Fügt die Zeile ein oder aktualisiert sie. is_deleted = 1: Sorgen Sie dafür, dass es nicht mehr in Ihren aktuellen Daten erscheint. Löschen Sie die Zeile oder lassen Sie sie markiert und filtern Sie sie heraus. |
Erste Schritte
So integrieren Sie
Die Live Linear Programm Dataset API ist Teil der Analytics API Suite. Wenn Sie die Analytics API Suite nutzen, erhalten Sie Zugriff auf alle verfügbaren APIs innerhalb dieser Suite, einschließlich der Live Linear Programm Dataset-API (falls beim Onboarding angefordert). Ausführliche Anweisungen zum Onboarding finden Sie auf der Analytics-API-Onboarding-Seite.
Voraussetzungen
Sie benötigen Folgendes, bevor Sie API-Anfragen stellen können:
- Ein Sicherheitsprofil für die Anmeldung mit Amazon (LWA). Senden Sie Ihre Kunden-ID an Ihre CAM, damit sie zur internen PV-Verwaltungsseite hinzugefügt wird.
- Ein Autorisierungscode zur Anforderung eines Tokens.
- Ein Token für alle API-Anfragen.
Basis-URI: https://videocentral.amazon.com/apis/v2
Alle Anfragen müssen ein gültiges LWA-Authentifizierungstoken im Autorisierungsheader enthalten. Wenn das Token fehlt oder abgelaufen ist, gibt die API eine nicht autorisierte Ausnahme zurück. |
Paginierung
Alle Antworten sind paginiert. Verwenden Sie diese Parameter, um durch Seiten zu navigieren:
Parameter |
Standard |
Description |
|---|---|---|
Begrenzung |
10 |
Number der pro Seite zurückgegebenen Dokumente. Maximal 1.000. |
Offset |
0 |
Number der Dokumente, die vor dem ersten Ergebnis übersprungen werden sollen. Folgen Sie der nächsten URL, anstatt sie selbst zu berechnen. |
Alle paginierten Antworten enthalten die folgenden Felder:
Feld |
Description |
|---|---|
gesamt |
Gesamtzahl der Dokumente auf allen Seiten. |
Nächster |
URL zur nächsten Seite. Null, wenn dies die letzte Seite ist. |
Datensatzdateien abrufen
Endpunkt
Verwenden Sie diesen curl-Befehl, um eine Liste von Links zu herunterladbaren Datensatzdateien abzurufen:
curl -X GET \
-H "Authorization: Bearer Atza|auth_token" \
"https://videocentral.amazon.com/apis/v2/accounts/{ACADIA_ID}/{REPORT_GROUP}/{IDENTIFIER_ID}/datasets/{REPORT_ID}\
?startDateTime=YYYY-MM-DDThh:mm:ssZ\
&endDateTime=YYYY-MM-DDThh:mm:ssZ\
&offset=0&limit=1000"
Hinweis: Dieser Endpunkt gibt Links zu herunterladbaren GZIP-komprimierten CSV-Dateien zurück, nicht direkt zu den Zeilen. |
Parameter
Parameter |
Description |
|---|---|
ACADIA_ID |
Ihre Slate-Konto-ID. Sie finden sie unter /v2/accounts. |
REPORT_GROUP |
Das Geschäftsbereichssegment. Verwenden Sie Channels für den Channels-Feed oder fast für den FAST-Feed. Entdecken Sie Ihren mit GET /v2/accounts/ {ACADIA_ID}. |
IDENTIFIER_ID |
Der vom Identifikator-Endpunkt zurückgegebene ID-Wert. Für Kanäle ist es ein undurchsichtiger Hash. Verwenden Sie das ID-Feld wie angegeben. Für FAST ist es Ihr Lieferantencode, der ohne Hashwert zurückgegeben wird. |
REPORT_ID |
Welcher Bericht abgerufen werden soll. Verwenden Sie linear_program_event_log für Kanäle oder fast_linear_program_event_log für FAST. |
StartDateTime |
Stellen Sie das Datum ein, zu dem Sie das letzte Mal gezogen haben. Format: yyyy-MM-DDTHH:mm:ssz (UTC). |
Enddatum/Uhrzeit |
Auf die aktuelle Uhrzeit einstellen. Format: yyyy-MM-DDTHH:mm:ssz (UTC). |
Begrenzung |
Mindestens 1, maximal 1.000 Links pro Seite. |
Verfügbare Berichte
Zwei Berichte sind verfügbar. Rufen Sie jeden einzeln ab, indem Sie seine Berichts-ID in das Pfadsegment datasets/ {REPORT_ID} eingeben:
Bericht |
Berichts-ID |
Inhalt |
|---|---|---|
Kanäle |
linear_program_event_log |
SVOD/lineares Abonnement (3P_SUBS und FREE/PRIME, falls zutreffend). |
SCHNELL |
fast_linear_program_event_log |
Fernsehen mit kostenloser Werbeunterstützung//Werbefinanzierte lineare Kanäle (AVOD) |
Hinweis: Die maximale Datenspeicherung beträgt 2 Jahre. Anfragen, die älter als 2 Jahre sind, liefern keine Ergebnisse. |
Discovery-Endpunkte
Verwenden Sie diese Endpunkte, um Ihre Konto-ID, Berichtsgruppen, Identifikatoren und verfügbare Datensätze zu finden:
Endpunkt |
Kehrt zurück |
|---|---|
GET /v2/accounts |
Liste der Slate-Konten, auf die Sie zugreifen können. |
GET /v2/accounts/ {ACADIA_ID} |
Verfügbare Geschäftslinien (z. B. Kanäle, schnell). |
GET /v2/accounts/ {ACADIA_ID} /channels |
Melde Identifikatoren, die dir zur Verfügung stehen. Jeder Eintrag hat eine ID und einen benutzerfreundlichen Namen. |
GET /v2/accounts/ {ACADIA_ID} /channels/ {IDENTIFIER_ID} /datasets |
Verfügbare Datensätze für diesen Bezeichner. |
Datenspalten
Die folgenden Spalten sind im linear_program_event_log (Channels) -Feed vorhanden. Der fast_linear_program_event_log (FAST) -Feed hat dieselbe Form, wobei vendor_code hinzugefügt wurde und Abonnementspalten mit NULL geliefert werden.
Kolumne |
Type |
Kann auf Null gesetzt werden |
Description |
|---|---|---|---|
session_program_schedule_id |
SCHNUR |
Nein |
Primärschlüssel. Eindeutige ID (kodiert Sitzung, Programm und Lüftungsfenster). Deduplizieren und MERGE in diesem Feld. Änderungen, wenn sich das Programm oder die Sendezeit aufgrund aktualisierter EPG-Metadaten ändern. |
session_id |
SCHNUR |
Nein |
Anonymisierte eindeutige Identifikationsnummer für die Besuchssitzung. |
ist_gelöscht |
INT |
Nein |
Statussignal. 0 = Zeitplan ist aktiv. 1 = Zeitplan ist nicht mehr aktiv (ersetzt oder zurückgezogen). Schließt is_deleted = 1 Zeilen aus Ihren aktuellen Daten aus. |
last_update_time_utc |
ZEITSTEMPEL |
Nein |
Versionszeit aufzeichnen. Immer zum Deduplizieren verwenden. Behält die Zeile mit dem neuesten Wert für eine bestimmte ID bei. |
create_time_utc |
ZEITSTEMPEL |
Nein |
Als die Zeile zum ersten Mal erstellt wurde. |
program_id |
SCHNUR |
Nein |
Programm-ID, z. B. TMS-ID. |
pv_title_id |
SCHNUR |
Ja |
Prime Video Global Title Identifier (GTI) für das Programm. Entspricht pv_title_id im TVOD-Feed. |
program_title |
SCHNUR |
Ja |
Titel Programm. |
Name der Station |
SCHNUR |
Ja |
Channel- oder Sendername. |
Inhaltstyp |
SCHNUR |
Nein |
live_broadcast oder scheduled_tv. |
airing_start_utc |
ZEITSTEMPEL |
Nein |
Start der Programmausstrahlung (UTC). |
airing_end_utc |
ZEITSTEMPEL |
Nein |
Ende der Programmausstrahlung (UTC). |
start_segment_utc |
ZEITSTEMPEL |
Nein |
Sitzungsstart wird angezeigt (UTC). |
end_segment_utc |
ZEITSTEMPEL |
Nein |
Ende der Sitzung anzeigen (UTC). |
seconds_viewed |
LANG |
Nein |
In dieser Sitzung betrachtete Sekunden. |
vendor_sku |
SCHNUR |
Ja |
Inhalts-SKU (z. B. Gracenote-Identifikatoren). |
parent_channel_label |
SCHNUR |
Ja |
Hash-ID des übergeordneten Kanals. |
cid |
SCHNUR |
Ja |
Kanal-ID (wirksam). |
benefit_id |
SCHNUR |
Ja |
Kennung des Anspruchs bzw. der Leistung. |
subscription_offer_id |
SCHNUR |
Ja |
Kennung des Abonnementangebots. |
subscription_event_id |
SCHNUR |
Ja |
Kennung des Abonnement-Ereignisses. |
subscription_offer_time_zone |
SCHNUR |
Ja |
Zeitzone des Abonnementangebots. |
marketplace_id |
INT |
Nein |
Marketplace-ID. |
marketplace_desc |
SCHNUR |
Ja |
Beschreibung des Marktplatzes. |
Gebiet |
SCHNUR |
Ja |
Gebiet- oder Ländercode (US, GB, DE, AU und andere). |
Geräteklasse |
SCHNUR |
Ja |
Gerätekategorie. |
device_sub_class |
SCHNUR |
Ja |
Unterkategorie des Geräts. |
Verbindungstyp |
SCHNUR |
Ja |
Verbindungstyp (WLAN, verkabelt und andere). |
Wiedergabemethode |
SCHNUR |
Ja |
Wie die Sitzung genutzt wurde: online (Streaming) oder offline (Download). Live Linear ist praktisch immer online. |
geo_dma |
SCHNUR |
Ja |
Geografisches DMA. |
Stream-Typ |
SCHNUR |
Nein |
Immer LINEAR_TV. |
FAST-Feed-Hinweis: Der fast_linear_program_event_log-Feed hat dieselbe Form. Die Spalte vendor_code (Partnercode) ist vorhanden. Abonnementspalten (subscription_offer_id, subscription_event_id, subscription_offer_time_zone) werden als NULL geliefert. |
Grundlegendes zu is_deleted
Jede Zeile trägt is_deleted. Es ist ein Signal über den Status des Zeitplans. Es gibt zwei Werte:
Value |
Bedeutung |
Wie wende ich es an |
|---|---|---|
0 |
Der Zeitplan ist aktiv (die aktuelle Version). |
Fügt ihn ein, oder überschreibt die bestehende Zeile für diesen Schlüssel. |
1 |
Der Zeitplan ist nicht mehr aktiv (ersetzt oder zurückgezogen). |
Sorgen Sie dafür, dass er nicht mehr in Ihren aktuellen Daten erscheint. Löschen Sie die Zeile oder behalten Sie die Markierung bei und filtern Sie sie heraus. |
Wann tritt is_deleted = 1 auf?
- Korrektur einplanen. Das Programm oder die Sendezeit wurden korrigiert. Die alte session_program_schedule_id kommt mit is_deleted = 1 an. Eine neue ID kommt als is_deleted = 0 an. Wenden Sie die alte Version als nicht mehr aktiv an und fügen Sie die neue ein.
- Lüftung entfernt. Die Lüftung wurde vollständig eingestellt. Seine ID kommt als is_deleted = 1 an.
Wichtige Hinweise
- Eine gegebene session_program_schedule_id ist niemals gleichzeitig 0 und 1 im selben Batch. Eine korrigierte Übertragung wird zu einem anderen Schlüssel.
- Zeilen, die die Eignungskriterien des Feeds nie erfüllten, werden nicht zugestellt. Erwarten Sie nicht den Wert is_deleted = 1 für eine Zeile, die Sie nie erhalten haben.
Deduplizierung
Möglicherweise erhalten Sie dieselbe session_program_schedule_id mehr als einmal. Dies sind aktualisierte Versionen derselben Zeile. Behandeln Sie die Deduplizierung in drei Schritten:
- Behalten Sie die neueste Version jeder ID. Behalte für jede ID nur die Zeile mit der neuesten last_update_time_utc und lösche die älteren. Dieser Wert bewegt sich nur vorwärts, sodass immer der neueste Wert gewinnt.
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY session_program_schedule_id
ORDER BY last_update_time_utc DESC
) AS rn
FROM your_staging_table
) t
WHERE rn = 1;
- FÜGEN Sie die deduplizierten Zeilen in Ihre Tabelle ein. Verwenden Sie das unten stehende MERGE-Muster. Reagieren Sie bei jedem Laden von Daten auf is_deleted.
MERGE INTO your_table AS target USING dedup_staging AS source ON target.session_program_schedule_id = source.session_program_schedule_id WHEN MATCHED AND source.is_deleted = 1 AND source.last_update_time_utc > target.last_update_time_utc THEN DELETE WHEN MATCHED AND source.is_deleted = 0 AND source.last_update_time_utc > target.last_update_time_utc THEN UPDATE SET program_title = source.program_title, seconds_viewed = source.seconds_viewed, airing_start_utc = source.airing_start_utc, airing_end_utc = source.airing_end_utc, last_update_time_utc = source.last_update_time_utc -- ... all other columns WHEN NOT MATCHED AND source.is_deleted = 0 THEN INSERT (session_program_schedule_id, session_id, program_id, ..., last_update_time_utc) VALUES (source.session_program_schedule_id, source.session_id, source.program_id, ..., source.last_update_time_utc);
Verwenden Sie ein MERGE, kein Bulk-Insert. Wenn Sie jede Datei als neue Zeilen laden, befinden sich die Zeilen is_deleted = 1 als aktive Daten in Ihrer Tabelle, anstatt übernommen zu werden. Handeln Sie immer nach der Flagge. |
- Alternative zum automatischen Löschen. Ersetzen Sie den DELETE-Zweig durch UPDATE SET is_deleted = 1 und filtern Sie dann in Ihren Abfragen nach WHERE is_deleted = 0. Beide Methoden liefern das gleiche Ergebnis.
Empfohlene Einnahmefrequenz
Neue Datensätze werden im Laufe des Tages schrittweise veröffentlicht.
Empfehlung |
Einzelheiten |
|---|---|
Empfohlene Trittfrequenz |
1 bis 4 Mal pro Tag, um auf dem Laufenden zu bleiben. |
Inkrementelle Strategie |
Setzen Sie StartDateTime auf den zuletzt abgerufenen Zeitstempel und EndDateTime auf die aktuelle Uhrzeit. Download alle zurückgegebenen Dateien herunter, verarbeiten Sie sie und führen Sie sie dann zusammen. |
Tägliche/wöchentliche Verbraucher |
Wenn Sie täglich oder wöchentlich abrufen, verarbeiten Sie alle Dateien für diesen Zeitraum. Dadurch wird sichergestellt, dass Sie keine Aktualisierungen oder Löschungen verpassen. |
Hinweis: Jeder Stapel mischt aktive Zeilen (is_deleted = 0) und nicht mehr aktive Zeilen (is_deleted = 1) miteinander. Sie werden nicht in separaten Dateien geliefert. Die Spalte is_deleted unterscheidet sie voneinander. |
Beispiel für eine API-Nutzung
Gehen Sie wie folgt vor, um Ihr Konto zu ermitteln, Ihre Berichtsgruppe und Kennungen zu identifizieren und Datensatzdateien abzurufen.
Schritt 0: Ihre Konten auflisten
Rufen Sie GET /v2/accounts auf, um die Slate-Konten aufzulisten, auf die Sie zugreifen können. {
"total": 1,
"next": null,
"data": [
{ "id": "12345678", "name": "MGM" }
]
}
Schritt 1: Geschäftsbereiche für das Konto
Rufen Sie GET /v2/accounts/1234567 8 an, um die verfügbaren Geschäftsbereiche zu sehen. {
"total": 2,
"next": null,
"data": [
{ "id": "channels", "name": "Channels" },
{ "id": "fast", "name": "FAST" }
]
}
Das ID-Feld ist das {REPORT_GROUP} -Pfadsegment, das in nachfolgenden Aufrufen verwendet werden soll.
Schritt 2a: Kanalkennungen
Rufen Sie GET /v2/accounts/12345678/channels? auf offset=0&limit=100, um deine Kanalkennungen aufzulisten. {
"total": 2,
"next": null,
"data": [
{ "id": "3f6c1b9d-8a2d-4e7f-9c31-0d5b7b2e6f14", "name": "MGM+" },
{ "id": "a91d4c21-57e0-4b8a-b6f3-2e9c0e1f8b77", "name": "MGM+ Espanol" }
]
}
Schritt 2b: FAST Identifiers
Rufen Sie GET /v2/accounts/12345678/fast? offset=0&limit=100, um Ihre FAST-Identifikatoren aufzulisten. {
"total": 1,
"next": null,
"data": [
{ "id": "ABC123", "name": "MGM FAST" }
]
}
Schritt 2c: Für einen Identifier verfügbare Datensätze
Rufen Sie GET /v2/accounts/12345678/FAST/abc123/datasets auf, um die verfügbaren Datensätze aufzulisten. {
"total": 1,
"next": null,
"data": [
{ "id": "fast_linear_program_event_log", "name": "FAST Linear Program Event Log" }
]
}
Schritt 3a: Kanaldatensatzdateien
Rufen Sie den Endpunkt der Datensatzdateien für Ihre Kanalkennung auf. Die Antwort gibt eine Liste von Download-URLs für gzip-komprimierte CSV-Dateien zurück. GET /v2/accounts/12345678/channels/3f6c1b9d-8a2d-4e7f-9c31-0d5b7b2e6f14
/datasets/linear_program_event_log
?startDateTime=2026-09-14T00:00:00Z&endDateTime=2026-09-15T00:00:00Z&offset=0&limit=1000
{
"total": 3,
"next": null,
"data": [
{ "downloadUrl": "https://pvreporting-datasets-prod.s3.amazonaws.com/linear_program_event_log/
3f6c1b9d.../2026/09/14/06/...linear_2f0c...e91a.csv.gz?X-Amz-Algorithm=..." },
{ "downloadUrl": "https://pvreporting-datasets-prod.s3.amazonaws.com/linear_program_event_log/
3f6c1b9d.../2026/09/14/14/...linear_7b41...03cd.csv.gz?..." },
{ "downloadUrl": "https://pvreporting-datasets-prod.s3.amazonaws.com/linear_program_event_log/
3f6c1b9d.../2026/09/14/22/...linear_c8d9...5e60.csv.gz?..." }
]
}
Schritt 3b: FAST-Datensatzdateien
Rufen Sie den Endpunkt der Datensatzdateien für Ihre FAST-ID auf. GET /v2/accounts/12345678/fast/ABC123/datasets/fast_linear_program_event_log
?startDateTime=2026-09-14T00:00:00Z&endDateTime=2026-09-15T00:00:00Z&offset=0&limit=1000
{
"total": 1,
"next": null,
"data": [
{ "downloadUrl": "https://pvreporting-datasets-prod.s3.amazonaws.com/fast_linear_program_event_log/
ABC123/2026/09/14/15/...fast_linear_c258fb25...758add.csv.gz?X-Amz-Algorithm=..." }
]
}
Beispielabfragen
Bei diesen Abfragen wird davon ausgegangen, dass Sie Ihre Daten bereits zusammengeführt haben. Wenn Sie is_deletetes-Zeilen in einer Rohtabelle behalten, fügen Sie jeder Abfrage WHERE is_deleted = 0 hinzu.
Anzahl der von Stationen über einen bestimmten Zeitraum aufgerufenen Stunden SELECT station_name,
COUNT(*) AS sessions,
SUM(seconds_viewed) / 3600.0 AS hours_viewed
FROM your_table
WHERE start_segment_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY station_name
ORDER BY hours_viewed DESC;
Die X am häufigsten aufgerufenen Programme nach aufgerufenen Stunden SELECT program_title, station_name,
SUM(seconds_viewed) / 3600.0 AS hours_viewed
FROM your_table
WHERE start_segment_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY program_title, station_name
ORDER BY hours_viewed DESC
LIMIT [X];
Zusammenfassung der täglichen Anzeige SELECT DATE(start_segment_utc) AS view_date,
COUNT(*) AS sessions,
SUM(seconds_viewed) / 3600.0 AS hours_viewed
FROM your_table
WHERE start_segment_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY DATE(start_segment_utc)
ORDER BY view_date DESC;
Nach Gebiet aufgerufene Öffnungszeiten SELECT territory,
SUM(seconds_viewed) / 3600.0 AS hours_viewed
FROM your_table
WHERE start_segment_utc BETWEEN '[START_DATE]' AND '[END_DATE]'
GROUP BY territory
ORDER BY hours_viewed DESC;
ETL-Pipeline
Verwenden Sie dieses vierstufige Muster, um Ihre ETL-Pipeline für den Live Linear Programm Dataset zu erstellen.
- Erster Datenabruf. Rufen Sie mithilfe des API-Endpunkts alle Dateien für Ihren Kanal innerhalb des gewünschten Zeitraums ab. Download alle zurückgegebenen Dateien herunter. Jede enthält Zeilen in gzip-komprimiertem CSV-Format.
- Deduplizieren. Wenn in den abgerufenen Dateien mehrere Datensätze für dieselbe session_program_schedule_id existieren, behalten Sie nur die Zeile mit der neuesten last_update_time_utc bei. Das vollständige SQL-Muster finden Sie im Abschnitt Deduplizierung.
- Auf Ziel anwenden. MERGEN Sie die deduplizierten Datensätze in Ihre Zieltabelle mit dem Schlüssel session_program_schedule_id. Upsert auf is_deleted = 0. Stellen Sie bei is_deleted = 1 sicher, dass die ID nicht mehr in Ihren aktuellen Daten erscheint. Löschen Sie sie dauerhaft, oder behalten Sie die Markierung der Zeile bei und filtern Sie sie heraus.
- Inkrementelle Verarbeitung. Setzen Sie für laufende Ladevorgänge den Zeitpunkt des letzten Abrufs und EndDateTime auf die aktuelle Uhrzeit. Verarbeiten Sie alle zurückgegebenen Dateien und führen Sie sie mit Ihrem Ziel zusammen.
startDateTime = {last_successful_pull_timestamp}
endDateTime = {current_utc_timestamp}
Schnelle Tipps
Beachten Sie diese Tipps, wenn Sie die API in Ihre Pipeline integrieren.
- session_program_schedule_id ist Ihr eindeutiger Schlüssel. Deduplizieren Sie immer mit last_update_time_utc.
- Verwenden Sie eine MERGE-Methode, keine Masseneinfügung. Reagieren Sie bei jedem Laden von Daten auf is_deleted-Signale.
- Rufen Sie 1 bis 4 Mal pro Tag ab, um die aktuellsten Daten zu erhalten.
- Setzen Sie StartDateTime für inkrementelle Ladevorgänge auf den Zeitstempel des letzten erfolgreichen Abrufs.
- Verwenden Sie die Discovery-Endpunkte, um Ihr Konto, Ihre Identifikatoren und verfügbaren Datensätze zu finden.
- Rufen Sie sowohl Kanäle als auch FAST-Feeds ab, wenn Ihre Partnerschaft beide abdeckt.
- Hinzufügen WHERE is_deleted = 0 zu allen Abfragen hinzu, wenn Sie den Soft-Delete-Ansatz verwenden.
- Die maximale Datenspeicherung beträgt 2 Jahre. Planen Sie Ihre historischen Datenabrufe entsprechend.
Wussten Sie das? |
Durch den programmatischen Zugriff auf Zuschauerdaten auf Programmebene können Sie benutzerdefinierte Berichte erstellen, Ihre Terminplanungssysteme mit Daten versorgen und lineare Daten mit Ihren anderen Geschäftsdaten kombinieren. Partner, die diese API in ihre Workflows integrieren, treffen schnellere und fundiertere Entscheidungen über Programmierung und Inhaltsbeschaffung. Visuelle Analysen und schnelle Einblicke finden Sie im Linear Programming Dashboard auf Slate Analytics. |