Carica i dati di Shopify in BigQuery
Puoi caricare i dati da Shopify a BigQuery utilizzando il connettore BigQuery Data Transfer Service per Shopify. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti da Shopify a BigQuery.
Il connettore Shopify supporta il trasferimento di dati di risorse basate su GraphQL, come Collections e Orders, dalle seguenti risorse:
- Account basati su abbonamento
- Account partner
Limitazioni
I trasferimenti di dati di Shopify sono soggetti alle seguenti limitazioni:
- Per includere l'oggetto
GiftCardsnel trasferimento di dati, l'account associato a questo trasferimento di dati deve avere un abbonamento a ShopifyPlus. - Per includere i seguenti oggetti dati degli abbonamenti alle app nel trasferimento di dati,
l'app installata nello store Shopify deve essere un'app del canale di vendita.
AppSubscriptionLineItemsAppSubscriptionsProductResourceFeedbacks
- Per includere i seguenti oggetti dati di Shopify che richiedono una funzione di sconto, devi utilizzare l'interfaccia a riga di comando di Shopify per creare un'app Shopify.
DiscountsCodeAppDiscountsCodeBasic
Prima di iniziare
Le sezioni seguenti descrivono i prerequisiti da soddisfare prima di creare un trasferimento di dati Shopify.
Prerequisiti di Shopify
- Devi avere un account Shopify e un negozio Shopify.
- Devi avere un'app Shopify personalizzata per il tuo negozio Shopify. Per saperne di più, consulta App personalizzate.
- Devi avere accesso all'ambito richiesto per l'oggetto dati Shopify che vuoi trasferire a BigQuery. Per un elenco degli ambiti richiesti per ogni oggetto, consulta Oggetti supportati e ambiti richiesti.
Prerequisiti di BigQuery
- Verifica di aver completato tutte le azioni richieste per abilitare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati.
Ruoli BigQuery richiesti
Per ottenere le autorizzazioni necessarie per creare un trasferimento di dati di BigQuery Data Transfer Service, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin) sul tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento di dati di BigQuery Data Transfer Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un trasferimento di dati di BigQuery Data Transfer Service, sono necessarie le seguenti autorizzazioni:
-
Autorizzazioni di BigQuery Data Transfer Service:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
Autorizzazioni BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più, consulta Concedi l'accesso a bigquery.admin.
Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, assicurati di disporre dell'autorizzazione Identity and Access Management (IAM) pubsub.topics.setIamPolicy. Le autorizzazioni Pub/Sub non sono necessarie se configuri solo le notifiche via email. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Configura un trasferimento di dati di Shopify
Aggiungi i dati di Shopify a BigQuery configurando una configurazione del trasferimento utilizzando una delle seguenti opzioni:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su Crea trasferimento.
Nella sezione Tipo di origine, per Origine, scegli Shopify.
Nella sezione Dettagli origine dati, segui questi passaggi:
- In Nome negozio, inserisci il nome del tuo negozio Shopify.
Ad esempio, se l'ID del tuo account commerciante è
storename.myshopify.com, il nome del tuo negozio èstorename. - Per ID client e Client secret, inserisci l'ID client e il secret per la tua app Shopify. Per saperne di più, consulta Informazioni sui client secret.
- Per Oggetti Shopify da trasferire, fai clic su Sfoglia:
- Seleziona gli oggetti da trasferire al set di dati di destinazione BigQuery. In questo campo puoi anche inserire manualmente gli oggetti da includere nel trasferimento di dati.
- In Nome negozio, inserisci il nome del tuo negozio Shopify.
Ad esempio, se l'ID del tuo account commerciante è
Nella sezione Impostazioni destinazione, in Set di dati, scegli il set di dati che hai creato per archiviare i dati.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati.
Nella sezione Opzioni di pianificazione:
- Nell'elenco Frequenza di ripetizione, seleziona un'opzione per specificare la frequenza con cui viene eseguito questo trasferimento di dati. Per specificare una frequenza di ripetizione personalizzata, seleziona Personalizzata. Se selezioni On demand, l'esecuzione avviene quando attivi manualmente il trasferimento.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
(Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:
- Per attivare le notifiche via email, fai clic sul pulsante di attivazione/disattivazione Notifica email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- Per attivare le notifiche di esecuzione del trasferimento Pub/Sub per questo trasferimento, fai clic sul pulsante di attivazione/disattivazione Notifiche Pub/Sub. Puoi selezionare il nome del tuo argomento oppure fare clic su Crea un argomento per crearne uno.
Fai clic su Salva.
bq
Inserisci il comando bq mk e fornisci il flag di creazione del trasferimento --transfer_config:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=NAME --target_dataset=DATASET --params='PARAMETERS'
Dove:
- PROJECT_ID (facoltativo): l'ID progetto Google Cloud .
Se non viene fornito
--project_idper specificare un progetto particolare, viene utilizzato il progetto predefinito. - DATA_SOURCE: l'origine dati,
shopify. - NAME: il nome visualizzato della configurazione del trasferimento di dati. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
- DATASET: il set di dati di destinazione per la configurazione del trasferimento.
PARAMETERS: i parametri per la configurazione del trasferimento creata in formato JSON. Ad esempio:
--params='{"param":"param_value"}'. Di seguito sono riportati i parametri per un trasferimento di dati di Shopify:assets: il percorso degli oggetti Shopify da trasferire a BigQuery.connector.shopName: il nome del tuo negozio Shopify. Ad esempio, se l'ID del tuo account commerciante èstorename.myshopify.com, il nome del tuo negozio èstorename.connector.authentication.accessToken: il token di accesso all'API Admin di Shopify.
Il seguente comando crea un trasferimento di dati Shopify incrementale nel progetto predefinito.
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"}'
Per eseguire manualmente un trasferimento di dati al di fuori della pianificazione regolare, puoi avviare un'esecuzione di backfill.
Oggetti supportati e ambiti obbligatori
La tabella seguente elenca gli oggetti di dati Shopify che possono essere trasferiti a BigQuery e gli ambiti richiesti per ogni oggetto.
| Oggetto dati | Ambito richiesto | |
|---|---|---|
| AppFeedbacks | Nessun ambito richiesto | |
| AppSubscriptionLineItems | Nessun ambito richiesto | |
| AppSubscriptions | Nessun ambito richiesto | |
| Cataloghi | read_products o read_product_listings |
|
read_publications |
||
| Raccolte | read_products |
|
read_publications |
||
| Aziende | read_customers o read_companies |
|
| CompanyContactRoleAssignments | read_customers o read_companies |
|
| CompanyContacts | read_customers o read_companies |
|
| CompanyLocations | read_customers o read_companies |
|
| Clienti | 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 |
||
| File | 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 |
||
| Fulfillment | 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 |
||
| Località | 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 | Nessun ambito richiesto | |
| Metafields_Variant | read_products |
|
read_shipping |
||
| OrderLineItems | read_orders |
|
read_products |
||
| OrderRiskAssessments | read_orders |
|
| Ordini | 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 |
||
| Prodotti | read_products |
|
read_product_listings |
||
read_publications |
||
| ProductVariants | read_products |
|
read_shipping |
||
| Pubblicazioni | read_products |
|
read_publications |
||
| Rimborsi | read_products |
|
read_orders |
||
read_returns |
||
| Restituisce | read_orders |
|
read_returns |
||
| ScriptTags | read_script_tags |
|
| Segmenti | read_customers |
|
| SellingPlanGroups | read_products |
|
| StorefrontAccessTokens | Nessun ambito richiesto | |
| UrlRedirects | read_online_store_navigation |
Mappatura dei tipi di dati
La tabella seguente mappa i tipi di dati di Shopify ai tipi di dati BigQuery corrispondenti:
| Tipo di dati Shopify | Tipo di dati BigQuery |
|---|---|
String |
STRING |
Int |
INT64 |
Decimal |
NUMERIC |
Double |
FLOAT64 |
Long |
BIGNUMERIC |
Bool |
BOOL |
Datetime |
TIMESTAMP |
Prezzi
Il trasferimento dei dati di Shopify in BigQuery non comporta alcun costo mentre questa funzionalità è in anteprima.
Risolvi i problemi di configurazione del trasferimento
Se riscontri problemi durante la configurazione del trasferimento dei dati, consulta l'articolo Problemi di trasferimento di Shopify.
Passaggi successivi
- Per una panoramica di BigQuery Data Transfer Service, consulta Che cos'è BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti, tra cui come ottenere informazioni su una configurazione di trasferimento, elencare le configurazioni di trasferimento e visualizzare la cronologia di esecuzione di un trasferimento, consulta Gestisci i trasferimenti.