Caricare i dati del proprietario dei contenuti di YouTube in BigQuery
Puoi caricare i dati del proprietario dei contenuti di YouTube in BigQuery utilizzando il connettore BigQuery Data Transfer Service per il proprietario dei contenuti di YouTube. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti del proprietario dei contenuti di YouTube a BigQuery.
Report supportati
- Report sui proprietari dei contenuti
- Report gestiti dal sistema
BigQuery Data Transfer Service per i report dei proprietari dei contenuti di YouTube supporta le seguenti opzioni di reporting:
Opzione di segnalazione | Assistenza |
---|---|
Versione API supportata | 18 giugno 2018 |
Frequenza di ripetizione | Ogni giorno, intorno alle ore 14:45 UTC Puoi configurare l'ora del giorno |
Finestra di aggiornamento | Ultimo giorno Non configurabile. |
Durata massima del backfill | 30 giorni A partire da luglio 2018, i report di YouTube contenenti dati storici sono disponibili per 30 giorni a partire dalla relativa data di creazione. I report che contengono dati non storici sono disponibili per 60 giorni dopo la modifica delle norme. Per saperne di più, consulta la sezione Dati storici nella documentazione dell'API YouTube Reporting. |
Per informazioni su come i report dei proprietari dei contenuti di YouTube vengono trasformati in tabelle e viste BigQuery, consulta Trasformazioni dei report dei proprietari dei contenuti di YouTube.
Importazione dei dati dai trasferimenti dei proprietari dei contenuti di YouTube
Quando trasferisci i dati dai report dei proprietari dei contenuti di YouTube in BigQuery, i dati vengono caricati in tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data dell'origine dati. Se pianifichi più trasferimenti per la stessa data, BigQuery Data Transfer Service sovrascrive la partizione per quella data specifica con i dati più recenti. Più trasferimenti nello stesso giorno o l'esecuzione di backfill non comportano la duplicazione dei dati e le partizioni per altre date non vengono interessate.Aggiorna finestre
Una finestra di aggiornamento è il numero di giorni in cui un trasferimento di dati recupera i dati quando si verifica un trasferimento di dati. Ad esempio, se la finestra di aggiornamento è di tre giorni<0xx0A>e si verifica un trasferimento giornaliero, BigQuery Data Transfer Service recupera tutti i dati dalla tabella di origine degli ultimi tre giorni. In questo esempio, quando si verifica un trasferimento giornaliero, BigQuery Data Transfer Service crea una nuova partizione della tabella di destinazione BigQuery con una copia dei dati della tabella di origine del giorno corrente, quindi attiva automaticamente le esecuzioni di backfill per aggiornare le partizioni della tabella di destinazione BigQuery con i dati della tabella di origine degli ultimi due giorni. I backfill attivati automaticamente sovrascriveranno o aggiorneranno in modo incrementale la tabella di destinazione BigQuery, a seconda che gli aggiornamenti incrementali siano supportati o meno nel connettore BigQuery Data Transfer Service.
Quando esegui un trasferimento di dati per la prima volta, il trasferimento di dati recupera tutti i dati di origine disponibili all'interno della finestra di aggiornamento. Ad esempio, se la finestra di aggiornamento è di tre giorni ed esegui il trasferimento dei dati per la prima volta, BigQuery Data Transfer Service recupera tutti i dati di origine entro tre giorni.
Le finestre di aggiornamento sono mappate al campo API TransferConfig.data_refresh_window_days
.
Per recuperare dati al di fuori della finestra di aggiornamento, ad esempio dati storici, o per recuperare dati da eventuali interruzioni o lacune nel trasferimento, puoi avviare o pianificare un backfill.
Limitazioni
- La dimensione massima supportata per ciascun report è 1710 GB.
- La frequenza minima per cui puoi pianificare un trasferimento dei dati è una volta ogni 24 ore. Per impostazione predefinita, un trasferimento dei dati inizia nel momento in cui lo crei. Tuttavia, puoi configurare l'ora di inizio del trasferimento quando lo configuri.
- BigQuery Data Transfer Service non supporta i trasferimenti incrementali di dati durante un trasferimento di proprietario dei contenuti di YouTube. Quando specifichi una data per un trasferimento di dati, vengono trasferiti tutti i dati disponibili per quella data.
Prima di iniziare
Prima di creare un trasferimento di dati del proprietario dei contenuti di YouTube:
- Verifica di aver completato tutte le azioni necessarie per attivare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati di YouTube.
- Verifica di avere un account proprietario dei contenuti YouTube. Un proprietario dei contenuti di YouTube non è la stessa cosa di un canale YouTube. In genere, hai un account proprietario dei contenuti di YouTube solo se gestisci molti canali diversi.
- Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, devi disporre delle autorizzazioni
pubsub.topics.setIamPolicy
. Le autorizzazioni Pub/Sub non sono necessarie se configuri solo le notifiche email. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Autorizzazioni obbligatorie
Assicurati che la persona che crea il trasferimento dei dati disponga delle seguenti autorizzazioni obbligatorie:
BigQuery:
- Autorizzazioni
bigquery.transfers.update
per creare il trasferimento di dati - Autorizzazioni
bigquery.datasets.get
ebigquery.datasets.update
sul set di dati di destinazione
Il ruolo IAM predefinito
bigquery.admin
include le autorizzazionibigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Per saperne di più sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.- Autorizzazioni
YouTube:
- YouTube Content Manager o proprietario dei contenuti di YouTube.
A un Content Manager vengono concessi i diritti di amministrazione dei contenuti di YouTube per conto di un proprietario dei contenuti. Un proprietario dei contenuti è un account cumulativo che possiede uno o più canali YouTube e i video pubblicati su quei canali.
Hide revenue data
non è selezionato nelle impostazioni del report del proprietario dei contenuti YouTube.
Affinché i report correlati alle entrate vengano trasferiti, l'impostazione dell'autorizzazione per i report di YouTube
Hide revenue data
deve essere deselezionata per l'utente che crea il trasferimento.
Configurare un trasferimento del proprietario dei contenuti di YouTube
La configurazione di un trasferimento dei dati del proprietario dei contenuti di YouTube richiede:
- ID proprietario dei contenuti: fornito da YouTube. Quando accedi a YouTube come proprietario o gestore dei contenuti, il tuo ID viene visualizzato nell'URL dopo
o=
. Ad esempio, se l'URL èhttps://studio.youtube.com/owner/AbCDE_8FghIjK?o=AbCDE_8FghIjK
, l'ID proprietario dei contenuti èAbCDE_8FghIjK
. Per selezionare un altro account Content Manager, consulta Accedere a un account Content Manager o Cambia canale YouTube. Per maggiori informazioni sulla creazione e sulla gestione dell'account Content Manager, consulta Configurare le impostazioni dell'account Content Manager. - Suffisso tabella: un nome intuitivo per il canale fornito da te al momento della configurazione del trasferimento. Il suffisso viene aggiunto all'ID job per creare il nome della tabella, ad esempio reportTypeId_suffix. Il suffisso viene utilizzato per impedire che trasferimenti di dati separati scrivano nelle stesse tabelle. Il suffisso della tabella deve essere univoco in tutti i trasferimenti che caricano dati nello stesso set di dati e deve essere breve per ridurre al minimo la lunghezza del nome della tabella risultante.
Se utilizzi l'API YouTube Reporting e hai job di reporting esistenti, BigQuery Data Transfer Service carica i dati dei report. Se non hai job di generazione di report esistenti, la configurazione del trasferimento dei dati attiva automaticamente i job di generazione di report di YouTube.
Per configurare un trasferimento dei dati del proprietario dei contenuti di YouTube:
Console
Vai alla pagina BigQuery nella console Google Cloud . Assicurati di aver eseguito l'accesso all'account come proprietario dei contenuti o gestore dei contenuti.
Fai clic su Trasferimenti.
Fai clic su Crea trasferimento.
Nella pagina Crea trasferimento:
Nella sezione Tipo di origine, per Origine, scegli Proprietario dei contenuti YouTube.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati, ad esempio
My Transfer
. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.Nella sezione Opzioni di pianificazione:
- Per Frequenza di ripetizione, scegli un'opzione per la frequenza con cui eseguire il trasferimento di dati. Se selezioni Giorni, specifica un'ora valida nel fuso orario UTC.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati che hai creato per archiviare i dati.
Nella sezione Dettagli origine dati:
- In ID proprietario dei contenuti, inserisci il tuo ID proprietario dei contenuti.
- Per Suffisso tabella, inserisci un suffisso come
MT
.
Nel menu Service account, seleziona un service account tra quelli associati al tuo progetto Google Cloud . Puoi associare un service account al trasferimento di dati anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo dei service account con i trasferimenti di dati, consulta Utilizza i service account.
Se hai eseguito l'accesso con un'identità federata, è necessario un service account per creare un trasferimento di dati. Se hai eseguito l'accesso con un Account Google, il service account per il trasferimento dei dati è facoltativo. Il account di servizio deve disporre delle autorizzazioni richieste.
(Facoltativo) Nella sezione Opzioni di notifica:
- Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento di dati non riesce.
- In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura l'esecuzione delle notifiche di Pub/Sub in relazione al trasferimento.
Fai clic su Salva.
Se è la prima volta che accedi all'account, seleziona un account, poi fai clic su Consenti. Seleziona lo stesso account in cui sei il proprietario o il gestore dei contenuti.
bq
Inserisci il comando bq mk
e fornisci il flag di creazione del trasferimento: --transfer_config
. Sono necessari anche i seguenti flag:
--data_source
--target_dataset
--display_name
--params
Flag facoltativi:
--service_account_name
: specifica un account di servizio da utilizzare per l'autenticazione del trasferimento del proprietario dei contenuti anziché il tuo account utente.
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source \ --service_account_name=service_account_name
Dove:
- project_id è l'ID progetto.
- dataset è il set di dati di destinazione per la configurazione del trasferimento.
- name è il nome visualizzato della configurazione di trasferimento. Il nome del trasferimento dei dati può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
- parameters contiene i parametri per la configurazione del trasferimento
creata in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Per i trasferimenti di dati dei proprietari dei contenuti YouTube, devi fornire i parametricontent_owner_id
etable_suffix
. Se vuoi, puoi impostare il parametroconfigure_jobs
sutrue
per consentire a BigQuery Data Transfer Service di gestire i job di generazione di report di YouTube per tuo conto. Se non esistono report di YouTube per il tuo account, vengono creati nuovi job di generazione di report per abilitarli. - data_source è l'origine dati:
youtube_content_owner
. - service_account_name è il nome del account di servizio utilizzato per
autenticare il trasferimento dei dati. Il account di servizio deve
essere di proprietà dello stesso
project_id
utilizzato per creare il trasferimento e deve disporre di tutte le autorizzazioni richieste.
Puoi anche fornire il flag --project_id
per specificare un progetto
particolare. Se --project_id
non è specificato, viene utilizzato il progetto predefinito.
Ad esempio, il seguente comando crea un trasferimento di dati del proprietario dei contenuti di YouTube
denominato My Transfer
utilizzando l'ID proprietario dei contenuti AbCDE_8FghIjK
, il suffisso della tabella
MT
e il set di dati di destinazione mydataset
. Il trasferimento dei dati viene creato nel progetto
predefinito:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"content_owner_id":"abCDE_8FghIjK","table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_content_owner
API
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Eseguire query sui dati
Quando vengono trasferiti a BigQuery, i tuoi dati vengono scritti in tabelle partizionate per data di importazione. Per ulteriori informazioni, vedi Tabelle partizionate.
Se esegui query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, devi utilizzare la pseudocolonna _PARTITIONTIME
nella query. Per maggiori informazioni,
consulta la pagina Esecuzione di query sulle tabelle partizionate.
Risolvere i problemi di configurazione del trasferimento del proprietario dei contenuti YouTube
Se riscontri problemi durante la configurazione del trasferimento dei dati, consulta la sezione Problemi di trasferimento di YouTube in Risoluzione dei problemi relativi alle configurazioni di trasferimento.