Trasferimenti dei rapporti del proprietario dei contenuti di YouTube

BigQuery Data Transfer Service per YouTube consente di pianificare e gestire automaticamente gestire job di caricamento ricorrenti per i report dei proprietari dei contenuti YouTube.

Report supportati

I report di BigQuery Data Transfer Service per i proprietari dei contenuti YouTube supportano le seguenti opzioni di segnalazione:

Opzione di segnalazione Assistenza
Versione API supportata 18 giugno 2018
Pianificazione

Ogni giorno, verso le 14:45 UTC

Puoi configurare l'ora

Finestra di aggiornamento

Ultimo giorno

Non configurabile.

Durata massima del backfill

30 giorni

Da luglio 2018, i report di YouTube contenenti dati storici sono disponibili per 30 giorni dal momento in cui vengono generati. Report. che contengono dati non storici sono disponibili per 60 giorni dopo la modifica delle norme. Per ulteriori informazioni, vedi Dati storici nella documentazione dell'API di reporting di YouTube.

Per informazioni su come i report sui proprietari dei contenuti di YouTube per le tabelle e le viste BigQuery, consulta Trasformazioni dei report dei proprietari dei contenuti di YouTube.

Importazione dati da trasferimenti dei proprietari dei contenuti YouTube

Quando trasferisci i dati dai report dei proprietari dei contenuti di YouTube a BigQuery, vengono caricati in tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data da l'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 backfill in esecuzione non generano dati duplicati e le partizioni per altre date non sono interessate.

Limitazioni

  • La dimensione massima supportata del file per ogni report è 1710 GB.
  • La frequenza minima per cui puoi pianificare un trasferimento di dati è una volta ogni 24 ore su 24. Per impostazione predefinita, un trasferimento inizia nel momento in cui crei trasferimento. Tuttavia, puoi configurare l'ora di inizio del trasferimento configurare il trasferimento.
  • BigQuery Data Transfer Service non supporta i trasferimenti incrementali durante un Trasferimento del 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 da parte di un proprietario dei contenuti di YouTube:

Autorizzazioni obbligatorie

Assicurati che la persona che crea il trasferimento abbia quanto segue richiesto autorizzazioni:

  • BigQuery:

    • bigquery.transfers.update autorizzazioni per creare il trasferimento
    • Autorizzazioni bigquery.datasets.get e bigquery.datasets.update attive il set di dati di destinazione

    Il ruolo IAM predefinito bigquery.admin include bigquery.transfers.update, bigquery.datasets.update e Autorizzazioni bigquery.datasets.get. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.

  • YouTube

    • YouTube Content Manager o proprietario dei contenuti di YouTube.

    Un Content Manager dispone dei diritti per amministrare i contenuti di YouTube per un Proprietario dei contenuti. Un proprietario dei contenuti è un account cumulativo che possiede uno o più canali YouTube e i video su questi canali.

    • L'opzione Hide revenue data è deselezionata nelle impostazioni del report del proprietario dei contenuti di YouTube.

    Per trasferire i report correlati alle entrate, l'autorizzazione per i report di YouTube L'impostazione Hide revenue data deve essere deselezionata per l'utente che crea il trasferimento.

    youtube-content-owner-reports-uncheck-hide-revenue

Configurare il trasferimento di un proprietario dei contenuti di YouTube

Per configurare il trasferimento di un proprietario dei contenuti di YouTube devi:

  • 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 il giorno 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 Content Manager consulta la pagina Accedere a un account Content Manager o Selettore di canale YouTube. Per ulteriori informazioni sulla creazione e sulla gestione del tuo account Content Manager, consulta Configurare le impostazioni dell'account Content Manager.
  • Suffisso tabella: un nome semplice per il canale che fornisci quando configuri il trasferimento. Il suffisso viene aggiunto all'ID job per creare nome della tabella, ad esempio reportTypeId_suffix. Il suffisso viene utilizzato per impedire la scrittura di trasferimenti separati nelle stesse tabelle. Il suffisso della tabella devono essere univoci tra tutti i trasferimenti che caricano i dati nello stesso set di dati. il suffisso deve essere breve per ridurre al minimo la lunghezza del nome della tabella risultante.

Se attualmente utilizzi API di reporting di YouTube e esistono già job di generazione dei report, BigQuery Data Transfer Service carica il tuo report e i dati di Google Cloud. Se non hai job di generazione di report, durante la configurazione del trasferimento abilita automaticamente le offerte di lavoro di reporting di YouTube.

Per configurare il trasferimento di un proprietario dei contenuti di YouTube:

Console

  1. Vai alla pagina BigQuery nella console Google Cloud. Assicurati di aver effettuato l'accesso all'account come proprietario dei contenuti o Content Manager.

    Vai alla pagina di BigQuery

  2. Fai clic su Trasferimenti.

  3. Fai clic su Crea trasferimento.

  4. Nella pagina Crea trasferimento:

    • Nella sezione Tipo di origine, per Origine, scegli Proprietario dei contenuti di YouTube.

      Origine trasferimento

    • Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome del trasferimento, ad esempio My Transfer. Il nome del trasferimento può essere qualsiasi valore che consenta di identificare facilmente il trasferimento se necessario per modificarlo in un secondo momento.

      Nome trasferimento

    • Nella sezione Opzioni di pianificazione:

      • In Frequenza di ripetizione, scegli un'opzione per la frequenza di esecuzione del trasferimento. Se selezioni Giorni, fornisci un orario valido nel formato UTC.

        • Ore
        • Giorni
        • On demand
      • Se applicabile, seleziona Inizia ora o Inizia all'ora impostata. e specificare una data di inizio e un'ora di esecuzione.

    • Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati creato per archiviare i tuoi dati.

      Trasferisci set di dati

    • Nella sezione Dettagli origine dati:

      • In ID proprietario dei contenuti, inserisci il tuo ID proprietario dei contenuti.
      • Per Suffisso tabella, inserisci un suffisso, ad esempio MT.

        Dettagli dell'origine del proprietario dei contenuti di YouTube

    • Nel menu Account di servizio, seleziona un account di servizio dagli account di servizio associati progetto Google Cloud. Puoi associare un account di servizio a il trasferimento anziché utilizzare le tue credenziali utente. Per ulteriori informazioni informazioni sull'uso di account di servizio con i trasferimenti di dati, vedi Utilizzare gli account di servizio.

      • Se hai eseguito l'accesso con un'identità federata: per creare un trasferimento è necessario un account di servizio. Se hai firmato con un Account Google, poi l'account di servizio per il trasferimento è facoltativo.
      • L'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. Se attivi questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando un trasferimento non va a buon fine.
      • Per Seleziona un argomento Pub/Sub, scegli l'argomento o fai clic su Crea un argomento. Questa opzione configura l'esecuzione delle notifiche in Pub/Sub per il trasferimento.
  5. Fai clic su Salva.

  6. Se è la prima volta che accedi all'account, selezionane uno e fai clic su Consenti. Seleziona lo stesso account in cui ti trovi proprietario dei contenuti o 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 i contenuti Autenticazione per il trasferimento del proprietario anziché del 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. La Transfer name può essere qualsiasi valore che ti consenta di identificare se devi modificarlo in un secondo momento.
  • parameters contiene i parametri per il trasferimento creato configurazione in formato JSON. Ad esempio: --params='{"param":"param_value"}'. Per Il proprietario dei contenuti di YouTube effettua il trasferimento, devi fornire il content_owner_id e table_suffix. Se vuoi, puoi impostare configure_jobs su true per consentire a BigQuery Transfer Service per gestire le offerte di lavoro relative alla generazione di report di YouTube per te. Se esistono report di YouTube che al momento non esistono per il tuo account, vengono creati nuovi job per la generazione di report per ad attivarle.
  • data_source è l'origine dati: youtube_content_owner.
  • service_account_name è il nome dell'account di servizio utilizzato di autenticare il trasferimento. L'account di servizio deve essere di proprietà dello stesso project_id usato per creare il trasferimento; devono disporre di tutte le autorizzazioni richieste.

Puoi anche fornire il flag --project_id per specificare una determinata progetto. Se --project_id non è specificato, viene utilizzato il progetto predefinito.

Ad esempio, il seguente comando crea un trasferimento del proprietario dei contenuti di YouTube denominato My Transfer con l'ID proprietario dei contenuti AbCDE_8FghIjK, suffisso della tabella MT e il set di dati di destinazione mydataset. Il trasferimento viene creato progetto:

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 la projects.locations.transferConfigs.create e fornisce un'istanza del metodo TransferConfig risorsa.

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.

Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create youtube content owner channel transfer config
public class CreateYoutubeContentOwnerTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String contentOwnerId = "MY_CONTENT_OWNER_ID";
    String tableSuffix = "_test";
    Map<String, Value> params = new HashMap<>();
    params.put("content_owner_id", Value.newBuilder().setStringValue(contentOwnerId).build());
    params.put("table_suffix", Value.newBuilder().setStringValue(tableSuffix).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Youtube Owner Channel Config Name")
            .setDataSourceId("youtube_content_owner")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .build();
    createYoutubeContentOwnerTransfer(projectId, transferConfig);
  }

  public static void createYoutubeContentOwnerTransfer(
      String projectId, TransferConfig transferConfig) throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println(
          "Youtube content owner channel transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("Youtube content owner channel transfer was not created." + ex.toString());
    }
  }
}

Eseguire query sui dati

Quando vengono trasferiti in BigQuery, i dati vengono vengono scritte in tabelle partizionate in fase di importazione. Per ulteriori informazioni, vedi Tabelle partizionate.

Se esegui una query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, deve utilizzare la pseudocolonna _PARTITIONTIME nella query. Per ulteriori informazioni, consulta Esecuzione di query su tabelle partizionate.

Risolvere i problemi relativi alla configurazione del trasferimento del proprietario dei contenuti di YouTube

Se riscontri problemi durante la configurazione del trasferimento, vedi Problemi di trasferimento di YouTube in Risoluzione dei problemi relativi alle configurazioni di trasferimento.