YouTube-Kanalübertragungen
Mit dem BigQuery Data Transfer Service für YouTube können Sie wiederkehrende Ladejobs für Berichte zu YouTube-Kanälen planen und verwalten.
Unterstützte Berichte
- Kanalberichte (automatisch in BigQuery geladen)
BigQuery Data Transfer Service für YouTube-Kanalberichte unterstützt die folgenden Berichtsoptionen:
Berichtsoption | Unterstützung |
---|---|
Unterstützte API-Version | 18. Juni 2018 |
Zeitplan | Täglich, ca. 14:10 UTC Sie können die Tageszeit konfigurieren. |
Fenster aktualisieren | Letzter Tag Nicht konfigurierbar |
Maximale Backfill-Dauer | 30 Tage Ab Juli 2018 sind YouTube-Berichte, die Verlaufsdaten enthalten, ab dem Zeitpunkt ihrer Erstellung 30 Tage lang verfügbar. (Berichte, die keine Verlaufsdaten enthalten, sind 60 Tage lang verfügbar.) Weitere Informationen finden Sie in der Dokumentation zur YouTube Reporting API unter Verlaufsdaten. |
Informationen zur Umwandlung von YouTube-Kanalberichten in BigQuery-Tabellen und -Ansichten finden Sie unter Bericht zu YouTube-Kanälen umwandeln.
Datenaufnahme aus YouTube-Kanalübertragungen
Wenn Sie Daten von einem YouTube-Kanal in BigQuery übertragen, werden die Daten in BigQuery-Tabellen geladen, die nach Datum partitioniert sind. Die Tabellenpartition, in die die Daten geladen werden, entspricht dem Datum aus der Datenquelle. Wenn Sie mehrere Übertragungen für dasselbe Datum planen, überschreibt BigQuery Data Transfer Service die Partition für dieses Datum mit den neuesten Daten. Mehrere Übertragungen am selben Tag oder laufende Backfills führen nicht zu doppelten Daten; Partitionen für andere Daten sind nicht betroffen.Beschränkungen
- Die maximal unterstützte Dateigröße für jeden Bericht beträgt 1.710 GB.
- Die Mindesthäufigkeit, für die Sie eine Datenübertragung planen können, beträgt einmal alle 24 Stunden. Standardmäßig beginnt eine Übertragung zu dem Zeitpunkt, an dem Sie die Übertragung erstellen. Sie können die Startzeit der Übertragung jedoch beim Einrichten der Übertragung konfigurieren.
- Der BigQuery Data Transfer Service unterstützt keine inkrementellen Übertragungen während der Übertragung eines YouTube-Rechteinhabers. Wenn Sie ein Datum für eine Datenübertragung angeben, werden alle Daten übertragen, die für dieses Datum verfügbar sind.
- Sie können keine YouTube-Kanalübertragung erstellen, wenn Sie als föderierte Identität angemeldet sind. Sie können eine YouTube-Kanalübertragung nur erstellen, wenn Sie mit einem Google-Konto angemeldet sind.
Hinweise
Vor dem Erstellen einer YouTube-Kanalübertragung sind folgende Schritte erforderlich:
- Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
- Erstellen Sie ein BigQuery-Dataset zum Speichern der YouTube-Daten.
Erforderliche Berechtigungen
Für das Erstellen einer YouTube-Kanalübertragung ist Folgendes erforderlich:
- YouTube: Eigentumsrechte des YouTube-Kanals
BigQuery: Die folgenden IAM-Berechtigungen (Identity and Access Management) in BigQuery:
bigquery.transfers.update
zum Erstellen der Übertragung.bigquery.datasets.get
undbigquery.datasets.update
für das Ziel-Dataset.- Wenn Sie Benachrichtigungen über die Übertragungsausführung für Pub/Sub einrichten möchten, benötigen Sie die Berechtigungen
pubsub.topics.setIamPolicy
. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.
Die vordefinierte IAM-Rolle bigquery.admin
enthält alle BigQuery-Berechtigungen, die Sie zum Erstellen einer YouTube-Kanalübertragung benötigen. Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
YouTube-Kanalübertragung einrichten
Für die Einrichtung einer YouTube-Kanalübertragung ist Folgendes erforderlich:
- Tabellensuffix: Ein benutzerfreundlicher Name für den Kanal, den Sie beim Einrichten der Übertragung angegeben haben. Das Suffix wird an die Job-ID angefügt, um den Tabellennamen zu bilden, beispielsweise reportTypeId_suffix. Mit dem Suffix wird verhindert, dass bei unterschiedlichen Übertragungen in dieselbe Tabelle geschrieben wird. Das Tabellensuffix darf bei allen Übertragungen, bei denen Daten in dasselbe Dataset geladen werden, nur einmal vorkommen. Außerdem muss das Suffix kurz sein, damit der Tabellenname nicht zu lang wird.
Wenn Sie aktuell die YouTube Reporting API verwenden und Berichterstellungsjobs vorhanden sind, werden die Berichtsdaten von BigQuery Data Transfer Service geladen. Wenn keine Berichterstellungsjobs vorhanden sind, werden YouTube-Berichterstellungsjobs automatisch beim Einrichten der Übertragung aktiviert.
So erstellen Sie eine YouTube-Kanalübertragung:
Console
Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.
Klicken Sie auf Übertragungen.
Klicken Sie auf Create Transfer (Übertragung erstellen).
Auf der Seite Create Transfer (Übertragung erstellen):
Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option YouTube-Kanal aus.
Geben Sie im Abschnitt Transfer config name (Konfigurationsname für Übertragung) für Display name (Anzeigename) einen Namen wie
My Transfer
für die Übertragung ein. Der Übertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.Im Abschnitt Zeitplanoptionen:
Wählen Sie für Wiederholungshäufigkeit aus, wie oft die Übertragung ausgeführt werden soll: Wenn Sie Tage auswählen, geben Sie eine gültige Zeit in UTC an.
- Stunden
- Tage
- On demand
Wählen Sie gegebenenfalls Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.
Wählen Sie im Abschnitt Destination settings (Zieleinstellungen) für Destination dataset (Ziel-Dataset) das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.
Im Abschnitt Data source details (Details zur Datenquelle):
- Geben Sie für Table suffix (Tabellensuffix) ein Suffix ein, beispielsweise
MT
. Klicken Sie das Kästchen Jobs konfigurieren an, damit BigQuery-YouTube-Berichterstellungsjobs verwalten können. Wenn YouTube-Berichte vorhanden sind, die zurzeit nicht für Ihr Konto zur Verfügung stehen, werden neue Berichterstellungsjobs erstellt, um sie zu aktivieren.
- Geben Sie für Table suffix (Tabellensuffix) ein Suffix ein, beispielsweise
Optional: Im Abschnitt Notification options (Benachrichtigungsoptionen):
- Klicken Sie auf die Umschaltfläche, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
- Wählen Sie unter Pub/Sub-Thema auswählen Ihr Thema aus oder klicken Sie auf Thema erstellen. Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
Klicken Sie auf Speichern.
bq
Geben Sie den Befehl bq mk
ein und geben Sie das Flag --transfer_config
für die Übertragungserstellung an. Die folgenden Flags sind ebenfalls erforderlich:
--data_source
--target_dataset
--display_name
--params
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
Dabei gilt:
- project_id ist die Projekt-ID.
- dataset ist das Ziel-Dataset für die Übertragungskonfiguration.
- name ist der angezeigte Name für die Übertragungskonfiguration. Der Name der Übertragung kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.
- parameters enthält die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel:
--params='{"param":"param_value"}'
. Für YouTube-Kanalübertragungen müssen Sie den Parametertable_suffix
angeben. Optional können Sie den Parameterconfigure_jobs
auftrue
setzen, damit BigQuery Data Transfer Service für Sie YouTube-Berichterstellungsjobs verwalten kann. Wenn YouTube-Berichte vorhanden sind, die zurzeit nicht für Ihren Kanal zur Verfügung stehen, werden neue Berichterstellungsjobs erstellt, um sie zu aktivieren. - data_source ist die Datenquelle:
youtube_channel
.
Sie können auch das Flag --project_id
bereitstellen, um ein bestimmtes Projekt anzugeben. Wenn --project_id
nicht angegeben ist, wird das Standardprojekt verwendet.
Mit dem folgenden Befehl werden beispielsweise eine YouTube-Kanalübertragung mit dem Namen My Transfer
und dem Tabellensuffix MT
sowie ein Ziel-Dataset mydataset
erstellt. Die Übertragung wird im Standardprojekt erstellt:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_channel
API
Verwenden Sie die Methode projects.locations.transferConfigs.create
und geben Sie eine Instanz der Ressource TransferConfig
an.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Daten abfragen
Bei der Übertragung Ihrer Daten in BigQuery werden die Daten in zeitpartitionierte Tabellen geschrieben. Weitere Informationen finden Sie unter Einführung in partitionierte Tabellen.
Wenn Sie die Tabellen direkt abfragen, anstatt die automatisch generierten Ansichten zu verwenden, müssen Sie in der Abfrage die Pseudospalte _PARTITIONTIME
verwenden. Weitere Informationen finden Sie unter Partitionierte Tabellen abfragen.
Fehler beim Einrichten der YouTube-Kanalübertragung beheben
Bei Problemen beim Einrichten von Übertragungen finden Sie weitere Informationen unter Fehlerbehebung bei Übertragungskonfigurationen im Abschnitt Übertragungsprobleme mit YouTube.