Charger des données Shopify dans BigQuery

Vous pouvez charger des données depuis Shopify vers BigQuery à l'aide du connecteur du service de transfert de données BigQuery pour Shopify. Le service de transfert de données BigQuery vous permet de planifier des jobs de transfert récurrents qui ajoutent vos dernières données de Shopify à BigQuery.

Le connecteur Shopify est compatible avec le transfert de données des ressources basées sur GraphQL, telles que Collections et Orders, à partir des ressources suivantes :

  • Comptes par abonnement
  • Comptes partenaire

Limites

Les transferts de données Shopify sont soumis aux limites suivantes :

  • Pour inclure l'objet GiftCards dans le transfert de données, le compte associé à ce transfert de données doit disposer d'un abonnement ShopifyPlus.
  • Pour inclure les objets de données d'abonnement à l'application suivants dans le transfert de données, l'application installée sur la boutique Shopify doit être une application de canal de vente.
    • AppSubscriptionLineItems
    • AppSubscriptions
    • ProductResourceFeedbacks
  • Pour inclure les objets de données Shopify suivants qui nécessitent une fonction de remise, vous devez utiliser la CLI Shopify pour créer une application Shopify.
    • DiscountsCodeApp
    • DiscountsCodeBasic

Avant de commencer

Les sections suivantes décrivent les conditions préalables à remplir avant de créer un transfert de données Shopify.

Prérequis pour Shopify

  • Vous devez disposer d'un compte Shopify et d'une boutique Shopify.
  • Vous devez disposer d'une application Shopify personnalisée pour votre boutique Shopify. Pour en savoir plus, consultez Applications personnalisées.
  • Vous devez avoir accès au champ d'application requis pour l'objet de données Shopify que vous souhaitez transférer vers BigQuery. Pour obtenir la liste des champs d'application requis pour chaque objet, consultez Objets compatibles et champs d'application requis.

Prérequis pour BigQuery

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert de données du service de transfert de données BigQuery, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert de données du service de transfert de données BigQuery. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un transfert de données du service de transfert de données BigQuery :

  • Autorisations du service de transfert de données BigQuery :
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Autorisations BigQuery :
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus, consultez Accorder l'accès à bigquery.admin.

Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation Identity and Access Management (IAM) pubsub.topics.setIamPolicy. Les autorisations Pub/Sub ne sont pas nécessaires si vous ne configurez que des notifications par e-mail. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.

Configurer un transfert de données Shopify

Ajoutez des données Shopify à BigQuery en configurant une configuration de transfert à l'aide de l'une des options suivantes :

Console

  1. Accédez à la page "Transferts de données" dans la console Google Cloud .

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans la section Type de source, accédez à la liste déroulante Source, puis sélectionnez Shopify.

  4. Dans la section Data source details (Détails de la source de données), procédez comme suit :

    • Dans le champ Shop name (Nom de la boutique), saisissez le nom de votre boutique Shopify. Par exemple, si l'ID de votre compte marchand est storename.myshopify.com, le nom de votre boutique est storename.
    • Dans les champs ID client et Code secret du client, saisissez l'ID client et le code secret de votre application Shopify. Pour en savoir plus, consultez À propos des codes secrets du client.
    • Dans le champ Objets Shopify à transférer, cliquez sur Parcourir :
      • Sélectionnez les objets à transférer vers l'ensemble de données de destination BigQuery. Vous pouvez également saisir manuellement dans ce champ les objets à inclure dans le transfert de données.
  5. Dans la section Paramètres de destination, accédez au menu déroulant Ensemble de données, puis sélectionnez l'ensemble de données que vous avez créé pour stocker vos données.

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.

  7. Dans la section Schedule options (Options de programmation) :

    • Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, le transfert s'exécute lorsque vous le déclenchez manuellement.
    • Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
  8. Facultatif : dans la section Options de notification, procédez comme suit :

    • Pour activer les notifications par e-mail, cliquez sur le bouton Notification par e-mail. Lorsque vous activez cette option, l'administrateur du transfert reçoit une notification par e-mail si l'exécution du transfert échoue.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
  9. Cliquez sur Enregistrer.

bq

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config.

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

Où :

  • PROJECT_ID (facultatif) : ID de votre projet Google Cloud . Si vous ne fournissez pas de --project_id afin de spécifier un projet particulier, le projet par défaut est utilisé.
  • DATA_SOURCE. La source de données – shopify.
  • NAME : nom à afficher de la configuration de transfert de données. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
  • DATASET : ensemble de données cible de la configuration de transfert.
  • PARAMETERS correspond aux paramètres de la configuration de transfert créée, au format JSON. Exemple : --params='{"param":"param_value"}'. Voici les paramètres d'un transfert de données Shopify :

    • assets : chemin d'accès aux objets Shopify à transférer vers BigQuery.
    • connector.shopName : nom de votre boutique Shopify. Par exemple, si l'ID de votre compte marchand est storename.myshopify.com, le nom de votre boutique est storename.
    • connector.authentication.accessToken : jeton d'accès à l'API Shopify Admin.

La commande suivante crée un transfert de données Shopify incrémentiel dans le projet par défaut.

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"}'
Lorsque vous enregistrez la configuration de transfert, le connecteur Shopify déclenche automatiquement une exécution de transfert en fonction de l'option de planification. À chaque exécution de transfert, le connecteur Shopify transfère toutes les données disponibles de Shopify vers BigQuery.

Pour exécuter manuellement un transfert de données en dehors de votre calendrier habituel, vous pouvez lancer une exécution de remplissage.

Objets compatibles et champs d'application requis

Le tableau suivant liste les objets de données Shopify qui peuvent être transférés vers BigQuery et les champs d'application requis pour chaque objet.

Objet de données Niveau d'accès requis
AppFeedbacks Aucun champ d'application requis
AppSubscriptionLineItems Aucun champ d'application requis
AppSubscriptions Aucun champ d'application requis
Catalogues read_products ou read_product_listings
read_publications
Collections read_products
read_publications
Entreprises read_customers ou read_companies
CompanyContactRoleAssignments read_customers ou read_companies
CompanyContacts read_customers ou read_companies
CompanyLocations read_customers ou read_companies
Clients read_customers
write_customers
read_customer_merge
read_locations ou 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
Fichiers read_files
FulfillmentEvents read_orders
FulfillmentOrders read_locations
read_orders
read_assigned_fulfillment_orders, read_merchant_managed_fulfillment_orders ou read_third_party_fulfillment_orders
Fulfillments read_fulfillments ou read_products
read_locations
read_orders
FulfillmentServices read_locations ou read_inventory
read_fulfillments, read_products, read_custom_fulfillment_services ou assigned_fulfillment_orders
FulfillmentTrackingInfo read_fulfillments ou read_products
read_locations
read_orders
GiftCards read_gift_cards
read_orders
read_customers
InventoryItems read_inventory
read_products
Emplacements 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 ou 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 Aucun champ d'application requis
Metafields_Variant read_products
read_shipping
OrderLineItems read_orders
read_products
OrderRiskAssessments read_orders
Commandes read_customers
read_inventory
read_locations
read_orders
read_payment_terms
read_draft_orders
read_products ou 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
Produits read_products
read_product_listings
read_publications
ProductVariants read_products
read_shipping
Publications read_products
read_publications
Remboursements read_products
read_orders
read_returns
Renvoie read_orders
read_returns
ScriptTags read_script_tags
Segments read_customers
SellingPlanGroups read_products
StorefrontAccessTokens Aucun champ d'application requis
UrlRedirects read_online_store_navigation

Mappage des types de données

Le tableau suivant met en correspondance les types de données Shopify avec les types de données BigQuery correspondants :

Type de données Shopify Type de données BigQuery
String STRING
Int INT64
Decimal NUMERIC
Double FLOAT64
Long BIGNUMERIC
Bool BOOL
Datetime TIMESTAMP

Tarifs

Le transfert de données Shopify vers BigQuery est sans frais tant que cette fonctionnalité est en preview.

Résoudre les problèmes liés à la configuration d'un transfert

Si vous rencontrez des problèmes lors de la configuration de votre transfert de données, consultez la section Problèmes de transfert Shopify.

Étapes suivantes

  • Pour une vue d'ensemble du service de transfert de données BigQuery, consultez Qu'est-ce que le service de transfert de données BigQuery ?.
  • Pour plus d'informations sur l'utilisation des transferts, y compris l'obtention d'informations sur une configuration de transfert, la liste des configurations de transfert et l'affichage de l'historique d'exécution d'un transfert, consultez la page Gérer les transferts.