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 has concedido los siguientes permisos.
Roles de BigQuery necesarios
Para obtener los permisos que necesitas para crear una transferencia de datos de BigQuery Data Transfer Service,
pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin
) en tu proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para crear una transferencia de datos de BigQuery Data Transfer Service. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear una transferencia de datos de BigQuery Data Transfer Service, se necesitan los siguientes permisos:
-
Permisos de BigQuery Data Transfer Service:
-
bigquery.transfers.update
-
bigquery.transfers.get
-
-
Permisos de BigQuery:
-
bigquery.datasets.get
-
bigquery.datasets.getIamPolicy
-
bigquery.datasets.update
-
bigquery.datasets.setIamPolicy
-
bigquery.jobs.create
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Para obtener más información, consulta Conceder acceso a bigquery.admin
.
Roles obligatorios 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 comercio o ID de cuenta multicliente: es el ID de comercio 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.