Programar transferencias de Merchant Center
Antes de empezar
Antes de crear una transferencia de datos de Merchant Center:
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Cree un conjunto de datos de BigQuery para almacenar los datos de Merchant Center.
- En cuanto a la región del conjunto de datos, puedes usar la opción predeterminada, Multirregión, en Estados Unidos o en la Unión Europea.
- Si quiere crear un conjunto de datos en una región específica, la transferencia de datos de Merchant Center solo se admite en las siguientes regiones:
us-east4 (Northern Virginia)
,asia-northeast1 (Tokyo)
,asia-southeast1 (Singapore)
,australia-southeast1 (Sydney)
,europe-north1 (Finland)
,europe-west2 (London)
,europe-west6 (Zurich)
.
- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, debes tener permisos de
pubsub.topics.setIamPolicy
. No se necesitan permisos de Pub/Sub si solo configura notificaciones por correo electrónico. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
Permisos obligatorios
Asegúrate de que la persona que crea la transferencia de datos tenga los siguientes permisos obligatorios:
BigQuery
- Permisos de
bigquery.transfers.update
para crear la transferencia de datos - Permisos
bigquery.datasets.get
ybigquery.datasets.update
en el conjunto de datos de destino
El rol predefinido de gestión de identidades y accesos
bigquery.admin
incluye los permisosbigquery.transfers.update
,bigquery.datasets.update
ybigquery.datasets.get
. Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery Data Transfer Service, consulta Control de acceso.- Permisos de
Merchant Center:
Acceso estándar a la cuenta de Merchant Center que se usa en la configuración de la transferencia. Si configura una transferencia mediante una cuenta de servicio, esta debe tener acceso a la cuenta de Merchant Center. Para verificar el acceso, haga clic en la sección Usuarios de la interfaz de usuario de Merchant Center.
Para acceder a los datos de competitividad de precios, estadísticas de precios y superventas, debe cumplir los requisitos para poder usar Estadísticas de mercado.
Configurar una transferencia de Merchant Center
Para configurar una transferencia de datos para los informes de Merchant Center, debe cumplir los siguientes requisitos:
- ID de comerciante o ID de cuenta multicliente: es el ID de comerciante que se muestra en la interfaz de usuario de Merchant Center.
Para crear una transferencia de datos para los informes de Merchant Center, siga estos pasos:
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear transferencia.En la página Crear transferencia, haz lo siguiente:
- En la sección Tipo de fuente, elija Google Merchant Center en Fuente.
En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos; por ejemplo,
My Transfer
. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.En la sección Opciones de programación:
- Selecciona una Frecuencia de repetición. Si selecciona Horas, Días, Semanas o Meses, también debe especificar una frecuencia. También puedes seleccionar Personalizar para especificar una frecuencia de repetición personalizada. Si seleccionas Bajo demanda, la transferencia de datos se realizará cuando la inicies manualmente.
- Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
- En Fecha de inicio y tiempo de ejecución, introduce la fecha y la hora en las que quieres que empiece la transferencia. Este valor debe ser al menos 24 horas posterior a la hora UTC actual. Si has elegido Empezar ahora, esta opción estará inhabilitada.
Si dejas las opciones de programación en Empezar ahora, la primera ejecución de la transferencia de datos se iniciará inmediatamente y fallará con el siguiente mensaje de error:
No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to a day before the data of your Merchant account are prepared and available for the transfer.
La siguiente ejecución programada debería realizarse correctamente. Si los datos de su cuenta de Merchant se preparan en la misma fecha en hora UTC, puede configurar un relleno para la ejecución de hoy.En la sección Configuración de destino, en Conjunto de datos de destino, elija el conjunto de datos que haya creado para almacenar sus datos.
En la sección Detalles de la fuente de datos, en ID de comerciante, introduzca su ID de comerciante o de cuenta multicliente. Selecciona los informes que quieras transferir. Consulta más información en Informes admitidos.
En el menú Cuenta de servicio, selecciona una cuenta de servicio de las asociadas a tu proyectoGoogle Cloud . Puedes asociar una cuenta de servicio a tu transferencia de datos en lugar de usar tus credenciales de usuario. Para obtener más información sobre cómo usar cuentas de servicio con transferencias de datos, consulta el artículo Usar cuentas de servicio.
- Si has iniciado sesión con una identidad federada, se necesita una cuenta de servicio para crear una transferencia de datos. Si has iniciado sesión con una cuenta de Google, no es obligatorio tener una cuenta de servicio para la transferencia.
- La cuenta de servicio debe tener los permisos necesarios.
(Opcional) En la sección Opciones de notificación:
- Haz clic en el interruptor para habilitar las notificaciones por correo electrónico. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- En Selecciona un tema de Pub/Sub, elige el nombre del tema o haz clic en Crear un tema. Esta opción configura las notificaciones de Pub/Sub sobre la transferencia.
Haz clic en Guardar.
bq
Introduce el comando bq mk
y proporciona la marca de creación de transferencia —
--transfer_config
. También se necesitan las siguientes marcas:
--data_source
--target_dataset
--display_name
--params
También puedes usar la marca --project_id
para especificar un proyecto concreto. Si no se especifica --project_id
, se usa el proyecto predeterminado.
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 de la configuración de transferencia.
- name es el nombre visible de la configuración de transferencia. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.
- parameters contiene los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
.- En el caso de las transferencias de datos de Merchant Center, debe proporcionar el parámetro
merchant_id
. - El parámetro
export_products
especifica si se deben transferir los datos de productos y de problemas de productos. Este parámetro se incluye de forma predeterminada, aunque no especifique el parámetroexport_products
. Google recomienda que incluya este parámetro explícitamente y que le asigne el valor "true". - El parámetro
export_regional_inventories
especifica si se deben transferir los datos de inventario regional. - El parámetro
export_local_inventories
especifica si se deben transferir los datos de inventario local. - El parámetro
export_price_competitiveness
especifica si se deben transferir los datos de competitividad de precios. - El parámetro
export_price_insights
especifica si se deben transferir los datos de las estadísticas de precios. - El parámetro
export_best_sellers_v2
especifica si se deben transferir los datos de los productos más vendidos. - El parámetro
export_performance
especifica si se deben transferir los datos de rendimiento del producto.
- En el caso de las transferencias de datos de Merchant Center, debe proporcionar el parámetro
- data_source es la fuente de datos:
merchant_center
. - service_account_name es el nombre de la cuenta de servicio que se usa para autenticar la transferencia de datos. La cuenta de servicio debe ser propiedad del mismo
project_id
que se usó para crear la transferencia y debe tener todos los permisos necesarios.
Por ejemplo, el siguiente comando crea una transferencia de datos de Merchant Center
llamada My Transfer
con el ID de comerciante 1234
y el conjunto de datos de destino
mydataset
. La transferencia de datos se crea en tu proyecto predeterminado.
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"merchant_id":"1234","export_products":"true","export_regional_inventories":"true","export_local_inventories":"true","export_price_benchmarks":"true","export_best_sellers":"true"}' \
--data_source=merchant_center
La primera vez que ejecutes el comando, recibirás un mensaje como el siguiente:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Sigue las instrucciones del mensaje y pega el código de autenticación en la línea de comandos.
Si acaba de crear esta transferencia de datos, es posible que tenga que esperar hasta un día para que los datos de su cuenta de Merchant se preparen y estén disponibles para la transferencia.La próxima ejecución programada debería realizarse correctamente. Si los datos de su cuenta de Merchant se preparan en la misma fecha en hora UTC, puede configurar un relleno para la ejecución de hoy.
API
Usa el método projects.locations.transferConfigs.create
y proporciona una instancia del recurso TransferConfig
.
Solucionar problemas de configuración de transferencias de Merchant Center
Si tienes problemas para configurar la transferencia de datos, consulta la sección Problemas con la transferencia de Merchant Center del artículo Solucionar problemas con la configuración de la transferencia de BigQuery Data Transfer Service.