Transferts de chaînes YouTube
Le service de transfert de données BigQuery pour le connecteur YouTube vous permet de programmer et de gérer automatiquement les tâches de chargement récurrentes pour les rapports de chaîne YouTube.
Rapports acceptés
- Rapports de chaîne (chargés automatiquement dans BigQuery)
Le service de transfert de données BigQuery pour les rapports de chaîne YouTube accepte les options de création de rapports ci-dessous.
Option de création de rapports | Assistance |
---|---|
Version d'API compatible | 18 juin 2018 |
Fréquence de répétition | Tous les jours, à environ 14h10 (UTC) Vous pouvez configurer l'heure de la journée. |
Intervalle d'actualisation | La veille Non configurable |
Durée maximale du remplissage | 30 jours Depuis juillet 2018, les rapports YouTube contenant des données historiques sont disponibles pendant 30 jours à compter de leur génération. (Les rapports contenant des données non historiques sont disponibles pendant 60 jours après le changement des règles.) Pour plus d'informations, consultez la section Données de l'historique dans la documentation de l'API de création de rapports YouTube. |
Pour en savoir plus sur la transformation des rapports de chaîne YouTube en tables et vues BigQuery, consultez la page Transformation des rapports de chaîne YouTube.
Ingestion de données à partir de transferts de chaîne YouTube
Lorsque vous transférez des données d'une chaîne YouTube vers BigQuery, elles sont chargées dans des tables BigQuery partitionnées par date. La partition de la table dans laquelle les données sont chargées correspond à la date de la source de données. Si vous planifiez plusieurs transferts pour la même date, le service de transfert de données BigQuery remplace la partition de cette date spécifique par les données les plus récentes. Plusieurs transferts le même jour ou l'exécution de remplissages n'entraînent pas de données en double, et les partitions des autres dates ne sont pas affectées.Actualiser les fenêtres
Un intervalle d'actualisation correspond au nombre de jours pendant lesquels un transfert de données récupère des données lors d'un transfert de données. Par exemple, si la fenêtre d'actualisation est de trois jours et qu'un transfert quotidien a lieu, le service de transfert de données BigQuery récupère toutes les données de votre table source des trois derniers jours. Dans cet exemple, lorsqu'un transfert quotidien a lieu, le service de transfert de données BigQuery crée une partition de table de destination BigQuery avec une copie des données de votre table source du jour, puis déclenche automatiquement des exécutions de remplissage pour mettre à jour les partitions de table de destination BigQuery avec les données de votre table source des deux jours précédents. Les opérations de remplissage déclenchées automatiquement écrasent ou mettent à jour de manière incrémentielle votre table de destination BigQuery, selon que les mises à jour incrémentielles sont ou non compatibles avec le connecteur du service de transfert de données BigQuery.
Lorsque vous exécutez un transfert de données pour la première fois, celui-ci récupère toutes les données sources disponibles pendant l'intervalle d'actualisation. Par exemple, si la fenêtre d'actualisation est de trois jours et que vous exécutez le transfert de données pour la première fois, le service de transfert de données BigQuery récupère toutes les données sources dans un délai de trois jours.
Les fenêtres d'actualisation sont mappées sur le champ d'API TransferConfig.data_refresh_window_days
.
Pour récupérer des données en dehors de la période d'actualisation, telles que des données historiques, ou pour récupérer des données en cas d'indisponibilité ou d'écarts de transfert, vous pouvez lancer ou planifier une exécution de remplissage.
Limites
- La taille maximale acceptée pour un rapport est de 1 710 Go.
- La fréquence minimale à laquelle vous pouvez planifier un transfert de données est une fois toutes les 24 heures. Par défaut, un transfert de données commence au moment où vous le créez. Toutefois, vous pouvez configurer l'heure de début du transfert de données lorsque vous configurez votre transfert.
- Le service de transfert de données BigQuery n'accepte pas les transferts de données incrémentiels lors d'un transfert de propriétaire de contenu YouTube. Lorsque vous spécifiez une date pour un transfert de données, toutes les données disponibles pour cette date sont transférées.
- Vous ne pouvez pas créer un transfert de données de chaîne YouTube si vous êtes connecté en tant qu'identité fédérée. Vous ne pouvez créer un transfert de chaîne YouTube que lorsque vous êtes connecté à l'aide d'un compte Google.
Avant de commencer
Avant de créer un transfert de données de chaîne YouTube, procédez comme suit :
- Vérifiez que vous avez effectué toutes les actions requises pour activer le service de transfert de données BigQuery.
- Créez un ensemble de données BigQuery pour stocker les données YouTube.
Autorisations requises
Pour créer un transfert de données de chaîne YouTube, vous devez disposer des éléments suivants :
- YouTube - Propriété de la chaîne YouTube
BigQuery - Les autorisations IAM (Identity and Access Management) suivantes dans BigQuery :
bigquery.transfers.update
pour créer le transfert.bigquery.datasets.get
etbigquery.datasets.update
sur l'ensemble de données cible.- Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, vous devez disposer des autorisations
pubsub.topics.setIamPolicy
. Les autorisations Pub/Sub ne sont pas nécessaires si vous ne configurez que des notifications par e-mail. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.
Le rôle IAM prédéfini bigquery.admin
inclut toutes les autorisations BigQuery dont vous avez besoin pour créer un transfert de données de chaîne YouTube. Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Configurer un transfert de chaîne YouTube
Pour configurer un transfert de données de chaîne YouTube, vous devez disposer des éléments suivants :
- Suffixe de table : nom convivial de la chaîne que vous avez fourni lors de la configuration du transfert de données. Le suffixe est ajouté à l'ID de tâche pour former le nom de la table, par exemple reportTypeId_suffix. Il empêche que des transferts séparés écrivent sur des tables identiques. Le suffixe de table doit être unique pour tous les transferts qui chargent des données dans le même ensemble de données. Il doit par ailleurs être court de façon à réduire la longueur du nom de table obtenu.
Si vous utilisez actuellement l'API Rporting YouTube et disposez de jobs de création de rapports, le service de transfert de données BigQuery charge les données de vos rapports. Si vous n'avez pas de jobs de création de rapports existants, la configuration du transfert active automatiquement les jobs de création de rapports YouTube.
Pour créer un transfert de données de chaîne YouTube :
Console
Accédez à la page "Transferts de données" dans la console Google Cloud.
Cliquez sur
Créer un transfert.Sur la page Créer un transfert :
Dans la section Source type (Type de source), pour le champ Source, choisissez YouTube Channel (Chaîne YouTube).
Dans la section Transfer config name (Nom de la configuration de transfert), sous Display name (Nom à afficher), saisissez un nom pour le transfert de données, tel que
My Transfer
. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.Dans la section Schedule options (Options de programmation) :
Pour le champ Repeat frequency (Fréquence de répétition), choisissez la fréquence d'exécution du transfert de données : Si vous sélectionnez Jours, indiquez une heure valide au format UTC.
- Heures
- Jours
- À la demande
Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
Dans la section Destination settings (Paramètres de destination), pour le champ Destination dataset (Ensemble de données de destination), choisissez l'ensemble de données que vous avez créé pour stocker vos données.
Dans la section Data source details (Détails de la source de données) :
- Pour Table suffix (Suffixe de table), saisissez un suffixe tel que
MT
. Cochez la case Configurer les jobs pour autoriser BigQuery à gérer les jobs de création de rapports YouTube à votre place. S'il n'existe actuellement pas de rapports YouTube pour votre compte, des jobs de création de rapports sont créés pour les activer.
- Pour Table suffix (Suffixe de table), saisissez un suffixe tel que
(Facultatif) Dans la section Notification options (Options de notification) :
- Cliquez sur le bouton pour activer les notifications par e-mail. Lorsque vous activez cette option, l'administrateur de transfert reçoit une notification par e-mail en cas d'échec de l'exécution du transfert.
- Pour le champ Select a Pub/Sub topic (Sélectionner un sujet Pub/Sub), choisissez le nom de votre sujet ou cliquez sur Create a topic (Créer un sujet). Cette option configure les notifications d'exécution Pub/Sub pour votre transfert de données.
Cliquez sur Enregistrer.
bq
Saisissez la commande bq mk
, puis spécifiez l'indicateur de création de transfert --transfer_config
. Les paramètres suivants sont également requis :
--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
Où :
- project_id est l'ID de votre projet.
- dataset est l'ensemble de données cible de la configuration de transfert.
- name est le nom à afficher pour la configuration de transfert. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert de données si vous devez le modifier ultérieurement.
- parameters contient les paramètres de la configuration de transfert créée au format JSON. Exemple :
--params='{"param":"param_value"}'
. Pour les transferts de données de chaînes YouTube, vous devez fournir le paramètretable_suffix
. Vous pouvez éventuellement définir le paramètreconfigure_jobs
surtrue
pour autoriser le service de transfert de données BigQuery à gérer les tâches de création de rapports YouTube à votre place. Si des rapports YouTube n'existent pas actuellement pour votre chaîne, des tâches de création de rapports sont créées de façon à les activer. - data_source correspond à la source de données :
youtube_channel
.
Vous pouvez également indiquer l'option --project_id
pour spécifier un projet particulier. Si --project_id
n'est pas spécifié, le projet par défaut est utilisé.
Par exemple, la commande suivante crée un transfert de données de chaîne YouTube nommé My Transfer
à l'aide du suffixe de table MT
et de l'ensemble de données cible mydataset
. Le transfert de données est créé dans le projet par défaut :
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_channel
API
Utilisez la méthode projects.locations.transferConfigs.create
et fournissez une instance de la ressource TransferConfig
.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Java.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Interroger les données
Lorsque les données sont transférées vers BigQuery, elles sont écrites dans des tables partitionnées avec date d'ingestion. Pour plus d'informations, consultez la page Présentation des tables partitionnées.
Si vous interrogez directement les tables au lieu d'utiliser les vues générées automatiquement, vous devez utiliser la pseudo-colonne _PARTITIONTIME
dans votre requête. Pour en savoir plus, consultez la page Interroger des tables partitionnées.
Résoudre les problèmes de configuration des transferts de chaînes YouTube
Si vous rencontrez des problèmes lors de la configuration de votre transfert de données, reportez-vous à la section Problèmes de transfert sur YouTube à la page Dépannage des configurations de transferts.