Transferências do proprietário do conteúdo do YouTube
Com o conector do serviço de transferência de dados do BigQuery para proprietários de conteúdo do YouTube, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes para relatórios de proprietários de conteúdo do YouTube.
Relatórios compatíveis
- Relatórios do proprietário do conteúdo
- Relatórios gerenciados pelo sistema
O serviço de transferência de dados do BigQuery para relatórios do proprietário do conteúdo do YouTube é compatível atualmente com as opções de relatório a seguir:
Opção de relatório | Suporte |
---|---|
Versão da API compatível | 18 de junho de 2018 |
Repetir frequência | Diariamente, por volta das 14:45 UTC Você pode configurar a hora do dia |
Atualizar janela | Último dia Não configurável. |
Duração máxima do preenchimento | 30 dias Desde julho de 2018, os relatórios do YouTube que contêm dados históricos ficam disponíveis por 30 dias a partir do momento em que são gerados. Os relatórios que contêm dados não históricos ficam disponíveis por 60 dias após a alteração da política. Para mais informações, consulte Dados históricos na documentação da API Reporting do YouTube. |
Para informações sobre como os relatórios do proprietário do conteúdo do YouTube são transformados em tabelas e visualizações do BigQuery, consulte Transformações de relatórios do proprietário do conteúdo do YouTube.
Ingestão de dados das transferências de proprietários do conteúdo do YouTube
Ao transferir dados dos relatórios do proprietário do conteúdo do YouTube para o BigQuery, eles são carregados em tabelas do BigQuery que são particionadas por data. A partição da tabela em que os dados são carregados corresponde à data da fonte de dados. Se você programar várias transferências para a mesma data, o serviço de transferência de dados do BigQuery substituirá a partição dessa data específica pelos dados mais recentes. Várias transferências no mesmo dia ou preenchimentos não resultam em dados duplicados, e as partições de outras datas não são afetadas.Atualizar janelas
Uma janela de atualização é o número de dias que uma transferência de dados recupera dados quando ocorre uma transferência de dados. Por exemplo, se a janela de atualização for de três dias e uma transferência diária ocorrer, o serviço de transferência de dados do BigQuery vai extrair todos os dados da tabela de origem dos últimos três dias. Nesse exemplo, quando uma transferência diária ocorre, o serviço de transferência de dados do BigQuery cria uma nova partição de tabela de destino do BigQuery com uma cópia dos dados da tabela de origem do dia atual e, em seguida, aciona automaticamente as execuções de preenchimento para atualizar as partições de tabela de destino do BigQuery com os dados da tabela de origem dos últimos dois dias. As execuções de preenchimento automático acionadas automaticamente vão substituir ou atualizar de forma incremental a tabela de destino do BigQuery, dependendo de se as atualizações incrementais são aceitas ou não pelo conector do serviço de transferência de dados do BigQuery.
Quando você executa uma transferência de dados pela primeira vez, a transferência de dados recupera todos os dados de origem disponíveis na janela de atualização. Por exemplo, se a janela de atualização for de três dias e você executar a transferência de dados pela primeira vez, o serviço de transferência de dados do BigQuery vai recuperar todos os dados de origem em três dias.
As janelas de atualização são mapeadas para o campo da APITransferConfig.data_refresh_window_days
.
Para recuperar dados fora da janela de atualização, como dados históricos, ou para recuperar dados de interrupções ou lacunas de transferência, inicie ou programe uma execução de preenchimento.
Limitações
- O tamanho máximo permitido do arquivo para cada relatório é de 1.710 GB.
- A frequência mínima para programar uma transferência de dados é de uma vez a cada 24 horas. Por padrão, uma transferência de dados começa no momento em que você cria a transferência de dados. No entanto, é possível configurar o horário de início da transferência ao configurar sua transferência.
- O serviço de transferência de dados do BigQuery não é compatível com transferências de dados incrementais durante uma transferência do proprietário do conteúdo do YouTube. Ao especificar uma data para uma transferência de dados, todos os dados disponíveis para essa data são transferidos.
Antes de começar
Antes de criar uma transferência de dados do proprietário do conteúdo do YouTube:
- Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
- crie um conjunto de dados do BigQuery para armazenar os dados do YouTube;
- verifique se você tem uma conta de proprietário do conteúdo do YouTube. Um proprietário do conteúdo do YouTube não é o mesmo que um canal do YouTube. Normalmente, você tem uma conta de proprietário do conteúdo do YouTube apenas se administrar muitos canais diferentes.
- Se você pretende configurar notificações de execução de transferência do Pub/Sub, é preciso
ter permissões
pubsub.topics.setIamPolicy
. As permissões do Pub/Sub não serão necessárias se você configurar notificações por e-mail. Para mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.
Permissões necessárias
Verifique se a pessoa que está criando a transferência de dados tem as seguintes permissões necessárias:
BigQuery:
- Permissões
bigquery.transfers.update
para criar a transferência de dados - Permissões
bigquery.datasets.get
ebigquery.datasets.update
no conjunto de dados de destino
O papel predefinido
bigquery.admin
do IAM inclui permissõesbigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Para mais informações sobre os papéis do IAM no serviço de transferência de dados do BigQuery, consulte o controle de acesso.- Permissões
YouTube:
- Gerente de conteúdo do YouTube ou proprietário de conteúdo do YouTube
Um gerente de conteúdo tem direitos de administrar conteúdo do YouTube para o proprietário. Um proprietário do conteúdo é uma conta abrangente que tem um ou mais canais do YouTube e vídeos existentes neles.
Hide revenue data
está desmarcado nas configurações do relatório de Proprietário do conteúdo do YouTube.
Para que os relatórios relacionados à receita sejam transferidos, o YouTube informa que a configuração de permissão
Hide revenue data
deve ser desmarcada para o usuário que está criando a transferência.
Configurar uma transferência do proprietário do conteúdo do YouTube
Configurar uma transferência de dados do proprietário do conteúdo do YouTube exige um:
- ID do proprietário do conteúdo: fornecido pelo YouTube. Quando você faz login no YouTube como um Proprietário ou Gerenciador de conteúdo, seu ID aparece no URL após
o=
. Por exemplo, se o URL forhttps://studio.youtube.com/owner/AbCDE_8FghIjK?o=AbCDE_8FghIjK
, o ID do proprietário do conteúdo éAbCDE_8FghIjK
. Para selecionar uma conta diferente do Gerenciador de conteúdo, consulte Fazer login em uma conta do Gerenciador de conteúdo ou Seletor de canais do YouTube. Para mais informações sobre como criar e gerenciar a conta do Gerenciador de conteúdo, consulte Definir as configurações da conta do Gerenciador de conteúdo. - Sufixo de tabela: um nome fácil de usar para o canal, que você especifica ao configurar a transferência. O sufixo é anexado ao ID do job para criar o nome da tabela, por exemplo, reportTypeId_suffix. O sufixo é usado para evitar que transferências de dados separadas gravem nas mesmas tabelas. O sufixo da tabela precisa ser único em todas as transferências que carregam dados para o mesmo conjunto de dados. Além disso, o sufixo precisa ser curto para reduzir o comprimento do nome de tabela resultante.
Se você usa a API Reporting do YouTube no momento e tem jobs de relatórios atuais, o serviço de transferência de dados do BigQuery carregará os dados de relatório. Se você não tiver jobs de relatório, configurar a transferência de dados vai ativar automaticamente os jobs de relatório do YouTube.
Para configurar uma transferência de dados do proprietário do conteúdo do YouTube:
Console
Acesse a página do BigQuery no console do Google Cloud. Faça login na conta como proprietário ou gerenciador de conteúdo.
Clique em Transferências.
Clique em Criar transferência.
Na página Criar transferência, siga estas instruções:
Na seção Tipo de origem, em Origem, escolha Proprietário de conteúdo do YouTube.
No campo Nome de exibição da seção Transferir nome da configuração, insira um nome para a transferência de dados, como
My Transfer
. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.Na seção Opções de programação, faça o seguinte:
Em Frequência de repetição, escolha uma opção para a frequência de execução da transferência de dados: Se você selecionar Dias, forneça um horário válido em UTC.
- Horas
- Dias
- Sob demanda
Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.
Na seção Configurações de destino, em Conjunto de dados de destino, escolha o conjunto criado para armazenar seus dados.
Na seção Detalhes da origem de dados:
- Insira o ID respectivo em ID de proprietário do conteúdo.
Em Sufixo de tabela, insira um sufixo como
MT
.
No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. É possível associar uma conta de serviço à transferência de dados em vez de usar suas credenciais de usuário. Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.
- Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência de dados. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência de dados é opcional.
- A conta de serviço precisa ter as permissões necessárias.
Opcional: na seção Opções de notificação:
- Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail quando uma execução de transferência de dados falha.
- Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
Clique em Salvar.
Se esta for a primeira vez que você faz login na conta, selecione uma conta e clique em Permitir. Selecione a mesma conta em que você é o proprietário ou o gerenciador de conteúdo.
bq
Insira o comando bq mk
e forneça a sinalização de execução da transferência
--transfer_config
. As sinalizações abaixo também são obrigatórias:
--data_source
--target_dataset
--display_name
--params
Sinalizações opcionais:
--service_account_name
: especifica uma conta de serviço a ser usada para a autenticação de transferência do proprietário do conteúdo em vez da sua conta de usuário.
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
Em que:
- project_id é o ID do projeto;
- dataset é o conjunto de dados de destino na configuração da transferência.
- name é o nome de exibição da configuração de transferência. O nome da transferência de dados pode ser qualquer valor que permita identificá-la, caso você precise modificá-la depois.
- parameters contém os parâmetros da configuração da
transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
. Para transferências de dados do proprietário do conteúdo do YouTube, você precisa fornecer os parâmetroscontent_owner_id
etable_suffix
. Opcionalmente, você pode definir o parâmetroconfigure_jobs
comotrue
para permitir que o serviço de transferência de dados do BigQuery gerencie jobs de relatórios do YouTube para você. Se houver relatórios do YouTube que não existam na sua conta, novos jobs de relatório serão criados para ativá-los. - data_source é a fonte de dados:
youtube_content_owner
. - service_account_name é o nome da conta de serviço usado para autenticar a transferência de dados. A conta de serviço precisa pertencer ao mesmo
project_id
usado para criar a transferência e ter todas as permissões necessárias.
Também é possível fornecer a sinalização --project_id
para especificar um projeto determinado. Se --project_id
não for especificado, o projeto padrão será usado.
Por exemplo, o comando a seguir cria uma transferência de dados do proprietário do conteúdo do YouTube
chamada My Transfer
usando o ID do proprietário do conteúdo AbCDE_8FghIjK
, o sufixo da tabela
MT
e o conjunto de dados de destino mydataset
. A transferência de dados é criada no projeto padrão:
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
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso
TransferConfig
.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Consultar dados
Quando os dados são transferidos para o BigQuery, eles são gravados em tabelas particionadas por tempo de processamento. Para mais informações, consulte Tabelas particionadas.
Use a pseudocoluna _PARTITIONTIME
para consultar suas tabelas diretamente em vez de usar visualizações geradas automaticamente. Para mais informações, veja Como consultar tabelas particionadas.
Resolver problemas de configuração de transferência do proprietário do conteúdo do YouTube
Em caso de problemas ao configurar a transferência de dados, consulte Problemas na transferência do YouTube, em Solução de problemas de configurações de transferência.