Carga datos de Shopify en BigQuery

Puedes cargar datos de Shopify en 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 a esta transferencia debe tener una suscripción a Shopify Plus.
  • 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 a todos los niveles de acceso requeridos. Para obtener una lista de todos los niveles de acceso obligatorios, consulta Niveles de acceso autenticado.

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 Cómo otorgar 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

Para agregar datos de Shopify a BigQuery, configura una transferencia con una de las siguientes opciones:

Console

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

    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 la 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 de 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 Browse:
      • 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): Tu 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 Shopify Admin.

El siguiente comando 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 elijas. Con cada ejecución de transferencia, el conector de Shopify transfiere todos los datos disponibles de Shopify a BigQuery.

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

Tablas compatibles

El conector de Shopify admite los siguientes objetos de datos:

  • AppFeedbacks
  • AppSubscriptionLineItems (requiere una app de canal de ventas)
  • AppSubscriptions (requiere una app de canal de ventas)
  • Catalogs
  • Collections
  • Companies
  • CompanyContactRoleAssignments
  • CompanyContacts
  • CompanyLocations
  • Customers
  • DeliveryProfiles
  • DiscountsAutomaticApp (requiere una función de descuento)
  • DiscountsAutomaticBasic (requiere una función de descuento)
  • DiscountsAutomaticBxgy
  • DiscountsCodeApp
  • DiscountsCodeBasic
  • DiscountsCodeBxgy
  • DraftOrders
  • Files
  • FulfillmentEvents
  • FulfillmentOrders
  • Fulfillments
  • FulfillmentServices
  • FulfillmentTrackingInfo
  • GiftCards (requiere una suscripción a Shopify Plus)
  • InventoryItems
  • Locations
  • Objetos Metafield, como metafield_product o metafield_order
  • OrderRiskAssessments
  • Orders
  • OrderTransactions
  • PriceLists
  • ProductMediaImages
  • ProductOptions
  • ProductOptionValues
  • ProductResourceFeedbacks (requiere una app de canal de ventas)
  • Products
  • ProductVariants
  • Publications
  • Refunds
  • Returns
  • ScriptTags
  • Segments
  • SellingPlanGroups
  • StorefrontAccessTokens
  • UrlRedirects

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 vista previa.

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?

  • Si deseas 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.