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
GiftCardsdans 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.
AppSubscriptionLineItemsAppSubscriptionsProductResourceFeedbacks
- 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.
DiscountsCodeAppDiscountsCodeBasic
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
- Vérifiez que vous avez effectué toutes les actions requises pour activer le service de transfert de données BigQuery.
- Créez un ensemble de données BigQuery pour stocker vos données.
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
Accédez à la page "Transferts de données" dans la console Google Cloud .
Cliquez sur Créer un transfert.
Dans la section Type de source, accédez à la liste déroulante Source, puis sélectionnez Shopify.
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 eststorename. - 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.
- 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
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.
Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.
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.
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.
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_idafin 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 eststorename.myshopify.com, le nom de votre boutique eststorename.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"}'
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.