Carga datos de Shopify en BigQuery

Puedes cargar datos de Shopify a BigQuery con el conector del Servicio de transferencia de datos de BigQuery para Shopify. Con el Servicio de transferencia de datos de BigQuery, puedes programar trabajos de transferencia recurrentes que agreguen tus datos más recientes de Shopify a BigQuery.

El conector de Shopify admite la transferencia de datos de recursos basados en GraphQL, como Collections y Orders, desde los siguientes recursos:

  • Cuentas basadas en suscripciones
  • Cuentas de socios

Limitaciones

Las transferencias de datos de Shopify están sujetas a las siguientes limitaciones:

  • Para incluir el objeto GiftCards en la transferencia de datos, la cuenta asociada con esta transferencia de datos debe tener una suscripción a ShopifyPlus.
  • Para incluir los siguientes objetos de datos de suscripción a la app en la transferencia de datos, la app instalada en la tienda de Shopify debe ser una app de canal de ventas.
    • AppSubscriptionLineItems
    • AppSubscriptions
    • ProductResourceFeedbacks
  • Para incluir los siguientes objetos de datos de Shopify que requieren una función de descuento, debes usar la CLI de Shopify para crear una app de Shopify.
    • DiscountsCodeApp
    • DiscountsCodeBasic

Antes de comenzar

En las siguientes secciones, se describen los requisitos previos que debes cumplir antes de crear una transferencia de datos de Shopify.

Requisitos previos de Shopify

  • Debes tener una cuenta y una tienda de Shopify.
  • Debes tener una app de Shopify personalizada para tu tienda de Shopify. Para obtener más información, consulta Apps personalizadas.
  • Debes tener acceso al permiso requerido para el objeto de datos de Shopify que deseas transferir a BigQuery. Para obtener una lista de los permisos requeridos para cada objeto, consulta Objetos admitidos y permisos requeridos.

Requisitos previos de BigQuery

Roles de BigQuery requeridos

Para obtener los permisos que necesitas para crear una transferencia de datos del Servicio de transferencia de datos de BigQuery, pídele a tu administrador que te otorgue el rol de IAM de administrador de BigQuery (roles/bigquery.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia de datos del Servicio de transferencia de datos de BigQuery. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear una transferencia de datos del Servicio de transferencia de datos de BigQuery:

  • Permisos del Servicio de transferencia de datos de BigQuery:
    • 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 o con otros roles predefinidos.

Para obtener más información, consulta Otorga acceso a bigquery.admin.

Si quieres configurar las notificaciones de ejecución de transferencias para Pub/Sub, asegúrate de tener el permiso pubsub.topics.setIamPolicy de Identity and Access Management (IAM). 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.

Configura una transferencia de datos de Shopify

Agrega datos de Shopify a BigQuery configurando una configuración de transferencia con una de las siguientes opciones:

Console

  1. Ve a la página Transferencia de datos en la consola de Google Cloud .

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

  3. En la sección Tipo de fuente, en Fuente, elige Shopify.

  4. En la sección Detalles de fuente de datos, haz lo siguiente:

    • En Nombre de la tienda, ingresa el nombre de tu tienda de Shopify. Por ejemplo, si el ID de tu cuenta de comerciante es storename.myshopify.com, el nombre de tu tienda es storename.
    • En ID de cliente y Secreto del cliente, ingresa el ID y el secreto del cliente para tu app de Shopify. Para obtener más información, consulta Acerca de los secretos del cliente.
    • En Shopify objects to transfer, haz clic en Explorar:
      • Selecciona los objetos que se transferirán al conjunto de datos de destino de BigQuery. También puedes ingresar de forma manual cualquier objeto que quieras incluir en la transferencia de datos en este campo.
  5. En la sección Configuración de destino, en Conjunto de datos, elige el conjunto de datos que creaste para almacenar tus datos.

  6. En la sección Nombre de configuración de la transferencia (Transfer config name), en Nombre visible (Display name), ingresa el nombre de la transferencia de datos.

  7. En la sección Opciones de programación, haz lo siguiente:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar la frecuencia con la que se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizado. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.
    • Si corresponde, selecciona Comenzar ahora o Comenzar a la hora definida y detalla una fecha de inicio y una hora de ejecución.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    • Para habilitar las notificaciones por correo electrónico, haz clic en el botón de activar o desactivar Notificación 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.
    • Si quieres habilitar las notificaciones de ejecución de transferencias de Pub/Sub para esta transferencia, haz clic en el botón de activar Notificaciones de Pub/Sub. Puedes seleccionar el nombre del tema o hacer clic en Crear un tema para crear uno.
  9. Haz clic en Guardar.

bq

Ingresa el comando bq mk y suministra la marca de creación de transferencias --transfer_config.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Aquí:

  • PROJECT_ID (opcional): Es el ID del proyecto de Google Cloud . Si no se proporciona --project_id para especificar un proyecto en particular, se usa el proyecto predeterminado.
  • DATA_SOURCE: La fuente de datos: shopify.
  • NAME: el nombre visible de la configuración de transferencia de datos. El nombre de la transferencia puede ser cualquier valor que te permita identificarla con facilidad si es necesario hacerle modificaciones más tarde.
  • DATASET es el conjunto de datos de destino para la configuración de transferencia.
  • PARAMETERS son los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}' Los siguientes son los parámetros para una transferencia de datos de Shopify:

    • assets: Es la ruta de acceso a los objetos de Shopify que se transferirán a BigQuery.
    • connector.shopName: Es el nombre de tu tienda de Shopify. Por ejemplo, si el ID de tu cuenta de comerciante es storename.myshopify.com, el nombre de tu tienda es storename.
    • connector.authentication.accessToken: Es el token de acceso a la API de administrador de Shopify.

Con el siguiente comando, se crea una transferencia de datos incremental de Shopify en el proyecto predeterminado.

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=shopify
    --display_name='My Transfer'
    --params='{"assets": ["Orders"]
        "connector.shopName": "storename",
        "connector.authentication.accessToken":"sk_test_123456789"}'
Cuando guardas la configuración de transferencia, el conector de Shopify activa automáticamente una ejecución de transferencia según la opción de programación que hayas elegido. Con cada ejecución de transferencia, el conector de Shopify transfiere todos los datos disponibles de Shopify a BigQuery.

Para ejecutar una transferencia de datos de forma manual fuera de tu programa habitual, puedes iniciar una ejecución de reabastecimiento.

Objetos admitidos y permisos necesarios

En la siguiente tabla, se enumeran los objetos de datos de Shopify que se pueden transferir a BigQuery y los permisos necesarios para cada objeto.

Objeto de datos Permiso obligatorio
AppFeedbacks No se requiere ningún permiso
AppSubscriptionLineItems No se requiere ningún permiso
AppSubscriptions No se requiere ningún permiso
Catálogos read_products o read_product_listings
read_publications
Colecciones read_products
read_publications
Empresas read_customers o read_companies
CompanyContactRoleAssignments read_customers o read_companies
CompanyContacts read_customers o read_companies
CompanyLocations read_customers o read_companies
Clientes read_customers
write_customers
read_customer_merge
read_locations o read_inventory
read_markets
read_orders
DeliveryProfiles read_products
read_shipping
DiscountsAutomaticApp read_discounts
DiscountsAutomaticBasic read_discounts
DiscountsAutomaticBxgy read_discounts
DiscountsCodeApp read_discounts
DiscountsCodeBasic read_discounts
DiscountsCodeBxgy read_discounts
DraftOrders read_customers
read_draft_orders
read_orders
read_payment_terms
Archivos read_files
FulfillmentEvents read_orders
FulfillmentOrders read_locations
read_orders
read_assigned_fulfillment_orders, read_merchant_managed_fulfillment_orders o read_third_party_fulfillment_orders
Entregas read_fulfillments o read_products
read_locations
read_orders
FulfillmentServices read_locations o read_inventory
read_fulfillments, read_products, read_custom_fulfillment_services o assigned_fulfillment_orders
FulfillmentTrackingInfo read_fulfillments o read_products
read_locations
read_orders
GiftCards read_gift_cards
read_orders
read_customers
InventoryItems read_inventory
read_products
Ubicaciones read_locations
read_fulfillments
Metafields_Article read_content
Metafields_Blog read_content
Metafields_Collection read_products
read_publications
Metafields_Customer read_customers
write_customers
read_customer_merge
read_locations o read_inventory
read_markets
read_orders
Metafields_Draft_Order read_customers
read_draft_orders
read_orders
read_payment_terms
Metafields_Order read_customers
read_inventory
read_locations
read_orders
read_payment_terms
Metafields_Page read_content
Metafields_Product read_products
read_product_listings
read_publications
Metafields_Selling_Plan read_products
Metafields_Shop No se requiere ningún permiso
Metafields_Variant read_products
read_shipping
OrderLineItems read_orders
read_products
OrderRiskAssessments read_orders
Pedidos read_customers
read_inventory
read_locations
read_orders
read_payment_terms
read_draft_orders
read_products o read_fulfillments
OrderTransactions read_orders
read_products
PriceLists read_products
ProductMediaImages read_products
ProductOptions read_products
ProductOptionValues read_products
ProductResourceFeedbacks read_resource_feedbacks
read_products
Productos read_products
read_product_listings
read_publications
ProductVariants read_products
read_shipping
Publicaciones read_products
read_publications
Reembolsos read_products
read_orders
read_returns
Qué muestra read_orders
read_returns
ScriptTags read_script_tags
Segmentos read_customers
SellingPlanGroups read_products
StorefrontAccessTokens No se requiere ningún permiso
UrlRedirects read_online_store_navigation

Asignación de tipos de datos

En la siguiente tabla, se asignan los tipos de datos de Shopify a los tipos de datos de BigQuery correspondientes:

Tipo de datos de Shopify Tipo de datos de BigQuery
String STRING
Int INT64
Decimal NUMERIC
Double FLOAT64
Long BIGNUMERIC
Bool BOOL
Datetime TIMESTAMP

Precios

No se aplican costos por transferir datos de Shopify a BigQuery mientras esta función está en versión preliminar.

Soluciona problemas con la configuración de una transferencia

Si tienes problemas para configurar tu transferencia de datos, consulta Problemas de transferencia de Shopify.

¿Qué sigue?

  • Para obtener una descripción general del Servicio de transferencia de datos de BigQuery, consulta ¿Qué es el Servicio de transferencia de datos de BigQuery?.
  • Para obtener información sobre el uso de las transferencias (por ejemplo, cómo obtener información sobre una configuración de transferencia, mostrar distintas configuraciones o visualizar su historial de ejecuciones), consulta Manejar transferencias.