Transferencias de propietario del contenido de YouTube
El Servicio de transferencia de datos de BigQuery para el conector de propietario del contenido de YouTube te permite programar y administrar de forma automática los trabajos de carga recurrentes de los informes de propietario del contenido de YouTube.
Informes compatibles
- Informes de propietario del contenido
- Informes administrados por el sistema
En la actualidad, el Servicio de transferencia de datos de BigQuery para los informes de propietario del contenido de YouTube admite las siguientes opciones de informes:
Opción de informe | Asistencia |
---|---|
Versión de la API compatible | 18 de junio de 2018 |
Frecuencia de repetición | Diario, alrededor de las 14:45 UTC Puedes configurar la hora del día |
Período de actualización | Último día No configurable |
Duración máxima del reabastecimiento | 30 días A partir de julio de 2018, los informes de YouTube que contienen datos históricos estarán disponibles durante 30 días desde el momento en que se generan. Los informes que contienen datos no históricos estarán disponibles durante los 60 días posteriores a la modificación de la política. Para obtener más información, consulta Datos históricos en la documentación de la API de informes de YouTube |
Para obtener información sobre cómo se transforman los informes de propietario del contenido de YouTube en tablas y vistas de BigQuery, consulta Transformaciones de informes de propietario del contenido de YouTube.
Transferencia de datos desde transferencias de propietario del contenido de YouTube
Cuando transfieres datos de los informes de propietario de contenido de YouTube a BigQuery, los datos se cargan en tablas de BigQuery que se particionan por fecha. La partición de la tabla en la que se cargan los datos corresponde a la fecha de la fuente de datos. Si programas varias transferencias para la misma fecha, el Servicio de transferencia de datos de BigQuery reemplaza la partición para esa fecha específica con los datos más recientes. Las transferencias múltiples en el mismo día o los reabastecimientos en ejecución no generan datos duplicados y las particiones para otras fechas no se ven afectadas.Períodos de actualización
El período de actualización se refiere a la cantidad de días durante los cuales una transferencia de datos recupera datos cuando se produce la transferencia. Por ejemplo, si el período de actualización es de tres días y se produce una transferencia diaria, el Servicio de transferencia de datos de BigQuery recuperará todos los datos de tu tabla de origen de los últimos tres días. En este ejemplo, cuando se produce una transferencia diaria, el Servicio de transferencia de datos de BigQuery crea una nueva partición de tabla de destino de BigQuery con una copia de los datos de la tabla de origen del día actual y, luego, activa automáticamente las ejecuciones de reabastecimiento para actualizar las particiones de la tabla de destino de BigQuery con los datos de la tabla de origen de los últimos dos días. Las ejecuciones de reabastecimiento activadas automáticamente reemplazarán o actualizarán de forma incremental tu tabla de destino de BigQuery, en base a si las actualizaciones incrementales son compatibles o no con el conector del Servicio de transferencia de datos de BigQuery.
Cuando ejecutas una transferencia de datos por primera vez, la transferencia de datos recupera todos los datos de origen disponibles dentro del período de actualización. Por ejemplo, si el período de actualización es de tres días y ejecutas la transferencia de datos por primera vez, el Servicio de transferencia de datos de BigQuery recupera todos los datos de origen en un plazo de tres días.
Las ventanas de actualización se asignan al campo de API TransferConfig.data_refresh_window_days
.
Para recuperar datos fuera del período de actualización, como datos históricos, o para recuperar datos de interrupciones o brechas de transferencia, puedes iniciar o programar una ejecución de reabastecimiento.
Limitaciones
- El tamaño máximo admitido de cada archivo para cada informe es de 1,710 GB.
- La frecuencia mínima que puedes programar para una transferencia de datos es una vez cada 24 horas. De forma predeterminada, una transferencia de datos comienza en el momento en que creas la transferencia de datos. Sin embargo, puedes configurar la hora de inicio cuando configuras la transferencia.
- El Servicio de transferencia de datos de BigQuery no admite transferencias incrementales durante una transferencia de datos de propietario del contenido de YouTube. Cuando especificas una fecha para una transferencia de datos, se transfieren todos los datos disponibles para esa fecha.
Antes de comenzar
Antes de crear una transferencia de datos de propietario del contenido de YouTube, haz lo siguiente:
- Verifica si completaste todas las acciones necesarias para habilitar el Servicio de transferencia de datos de BigQuery
- Crea un conjunto de datos de BigQuery para almacenar los datos de YouTube.
- Verifica que tengas una cuenta de propietario del contenido de YouTube. Un propietario del contenido de YouTube no es lo mismo que un canal de YouTube. Por lo general, solo tienes una cuenta de propietario del contenido de YouTube si administras muchos canales diferentes.
- Si quieres configurar las notificaciones de ejecución de transferencias para Pub/Sub, debes tener los permisos
pubsub.topics.setIamPolicy
. Los permisos de Pub/Sub no son necesarios si solo configuras las notificaciones por correo electrónico. Para obtener más información, consulta la sección sobre notificaciones de ejecución del Servicio de transferencia de datos de BigQuery.
Permisos necesarios
Asegúrate de que la persona que crea la transferencia de datos tenga los siguientes permisos requeridos:
BigQuery:
- Los permisos
bigquery.transfers.update
para crear la transferencia de datos - Los permisos
bigquery.datasets.get
ybigquery.datasets.update
en el conjunto de datos de destino
La función predefinida de IAM
bigquery.admin
incluye los permisosbigquery.transfers.update
,bigquery.datasets.update
ybigquery.datasets.get
. Para obtener más información sobre los roles de IAM en el Servicio de transferencia de datos de BigQuery, consulta Control de acceso.- Los permisos
YouTube:
- Administrador de contenido de YouTube o propietario del contenido de YouTube.
A un Administrador de contenido se le otorgan derechos a fin de administrar contenido de YouTube para un propietario del contenido. Un propietario del contenido es una cuenta general que es propietaria de uno o más canales de YouTube y de los videos en esos canales.
Hide revenue data
está desmarcado en la configuración del informe Propietario del contenido de YouTube.
Para transferir informes relacionados con los ingresos, la configuración de permisos de los informes de YouTube
Hide revenue data
debe estar desmarcada para el usuario que crea la transferencia.
Configura una transferencia de propietario del contenido de YouTube
La configuración de una transferencia de datos de propietario del contenido de YouTube requiere lo siguiente:
- ID de propietario del contenido: proporcionado por YouTube. Cuando accedes a YouTube como propietario o administrador del contenido, tu ID aparece en la URL después de
o=
. Por ejemplo, si la URL eshttps://studio.youtube.com/owner/AbCDE_8FghIjK?o=AbCDE_8FghIjK
, el ID del propietario del contenido esAbCDE_8FghIjK
. Para seleccionar una cuenta diferente del Administrador de contenido, consulta Cómo acceder a una cuenta del Administrador de contenido o Cambiador de canales de YouTube. Para obtener más información sobre cómo crear y administrar tu cuenta de Administrador de contenido, consulta Cómo configurar la cuenta del Administrador de contenido. - Sufijo de tabla: un nombre fácil de usar para el canal que proporcionaste cuando configuraste la transferencia. El sufijo se adjunta al ID de trabajo para crear el nombre de la tabla, por ejemplo reportTypeId_suffix. El sufijo se usa para evitar que las transferencias de datos que se ejecutan por separado escriban en las mismas tablas. El sufijo de la tabla debe ser único en todas las transferencias que carguen datos en el mismo conjunto de datos, y el sufijo debe ser corto para minimizar la longitud del nombre de la tabla resultante.
Si usas la API de informes de YouTube y tienes trabajos de informes existentes, el Servicio de transferencia de datos de BigQuery carga tus datos de informes. Si no tienes trabajos de informes existentes, la configuración de la transferencia de datos habilita de forma automática los trabajos de informes de YouTube.
Para configurar una transferencia de datos de propietario del contenido de YouTube, sigue estos pasos:
Console
Ve a la página de BigQuery en la consola de Google Cloud. Asegúrate de haber accedido a la cuenta como propietario o administrador de contenido.
Haz clic en Transferencias.
Haz clic en Crear transferencia.
En la página Crear transferencia, sigue estos pasos:
En la sección Tipo de fuente (Source type), en Fuente (Source), selecciona Propietario del contenido de YouTube (YouTube Content Owner).
En la sección Nombre de la configuración de transferencia (Transfer config name), en Nombre visible, ingresa el nombre de la transferencia de datos, como
My Transfer
. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si es necesario hacerle modificaciones más tarde.En la sección Opciones de programación, haz lo siguiente:
En Frecuencia de repetición, elige una opción para la frecuencia con la que se ejecutará la transferencia de datos. Si seleccionas Días, proporciona una hora válida en UTC.
- Horas
- Días
- A pedido
Si corresponde, selecciona Comenzar ahora o Comenzar a una hora determinada y proporciona una fecha de inicio y una hora de ejecución.
En la sección Configuración de destino (Destination settings), en Conjunto de datos de destino (Destination dataset), selecciona el conjunto de datos que creaste para almacenar tus datos.
En la sección Detalles de fuente de datos (Data source details), haz lo siguiente:
- En ID de propietario del contenido (Content owner ID), ingresa tu ID de propietario del contenido.
En Sufijo de tabla (Table suffix), ingresa un sufijo como
MT
.
En el menú Cuenta de servicio, selecciona una cuenta de servicio de las cuentas de servicio asociadas a tu proyecto de Google Cloud. Puedes asociar una cuenta de servicio con tu transferencia de datos en lugar de usar tus credenciales de usuario. Para obtener más información sobre el uso de cuentas de servicio con transferencias de datos, consulta Usa cuentas de servicio.
- Si accediste con una identidad federada, se requiere una cuenta de servicio para crear una transferencia de datos. Si accediste con una Cuenta de Google, la cuenta de servicio para dicha transferencia de datos es opcional.
- La cuenta de servicio debe tener los permisos necesarios.
De forma opcional, en la sección Opciones de notificación, haz lo siguiente:
- Haz clic en el botón de activación para habilitar las notificaciones por correo electrónico. Si habilitas esta opción, el administrador de transferencias recibirá una notificación por correo electrónico cuando falle la ejecución de una transferencia de datos.
- En Seleccionar un tema de Cloud Pub/Sub (Select a Cloud Pub/Sub topic), elige el nombre de tu tema o haz clic en Crear un tema (Create a topic). Con esta opción, se configuran las notificaciones de ejecución de Pub/Sub para tu transferencia.
Haz clic en Guardar.
Si es la primera vez que accedes a la cuenta, selecciona una y haz clic en Permitir. Selecciona la misma cuenta en la que eres el propietario o el administrador de contenido.
bq
Ingresa el comando bq mk
y suministra la marca de creación de transferencias --transfer_config
. También se requieren las siguientes marcas:
--data_source
--target_dataset
--display_name
--params
Marcas opcionales:
--service_account_name
: especifica una cuenta de servicio que se usará para la autenticación de la transferencia del propietario del contenido en lugar de tu cuenta de usuario.
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
Donde:
- project_id es el ID del proyecto.
- dataset es el conjunto de datos de destino para la configuración de la transferencia.
- name es el nombre visible de la configuración de transferencia. El nombre de la transferencia de datos puede ser cualquier valor que te permita identificarla si es necesario hacerle modificaciones más tarde.
- parameters contiene los parámetros para la configuración de la transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
Para las transferencias de datos de propietarios del contenido de YouTube, debes proporcionar los parámetroscontent_owner_id
ytable_suffix
. De manera opcional, puedes configurar el parámetroconfigure_jobs
entrue
para permitir que el Servicio de transferencia de datos de BigQuery administre los trabajos de informes de YouTube por ti. Si hay informes de YouTube que no existen para tu cuenta, se crearán trabajos de informes nuevos a fin de habilitarlos. - data_source es la fuente de datos:
youtube_content_owner
. - service_account_name es el nombre de la cuenta de servicio que se usa para autenticar tu transferencia de datos. La cuenta de servicio debe ser propiedad del mismo
project_id
que se usa para crear la transferencia y debe tener todos los permisos necesarios.
También puedes proporcionar la marca --project_id
para especificar un proyecto en particular. Si no se especifica --project_id
, se usa el proyecto predeterminado.
Por ejemplo, el siguiente comando crea una transferencia de datos de propietario del contenido de YouTube llamada My Transfer
con el ID de propietario del contenido AbCDE_8FghIjK
, el sufijo de tabla MT
y el conjunto de datos de destino mydataset
. La transferencia de datos se crea en el proyecto predeterminado:
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
Usa el método projects.locations.transferConfigs.create
y suministra una instancia del recurso TransferConfig
.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Consulta tus datos
Cuando tus datos se transfieren a BigQuery, se escriben en tablas particionadas por tiempo de transferencia. Para obtener más información, consulta Tablas particionadas.
Si consultas tus tablas directamente en lugar de usar las vistas generadas de manera automática, debes usar la seudocolumna _PARTITIONTIME
en tu consulta. Para obtener más información, visita la página Consulta tablas particionadas.
Soluciona problemas de configuración de transferencia de propietario del contenido de YouTube
Si tienes problemas para configurar tu transferencia de datos, consulta la sección sobre los problemas de transferencias de YouTube en la página sobre cómo solucionar problemas de configuración de transferencias.