Carregar dados da Shopify no BigQuery
É possível carregar dados da Shopify para o BigQuery usando o conector do serviço de transferência de dados do BigQuery para a Shopify. Com o serviço de transferência de dados do BigQuery, é possível programar jobs de transferência recorrentes que adicionam os dados mais recentes do Shopify ao BigQuery.
O conector da Shopify é compatível com a transferência de dados de recursos baseados em GraphQL, como Collections e Orders, dos seguintes recursos:
- Contas com base em assinaturas
- Contas de parceiros
Limitações
As transferências de dados da Shopify estão sujeitas às seguintes limitações:
- Para incluir o objeto
GiftCardsna transferência de dados, a conta associada a essa transferência precisa ter uma assinatura do ShopifyPlus. - Para incluir os seguintes objetos de dados de assinatura de app na transferência de dados,
o app instalado na loja da Shopify precisa ser um app de canal de vendas.
AppSubscriptionLineItemsAppSubscriptionsProductResourceFeedbacks
- Para incluir os seguintes objetos de dados da Shopify que exigem uma
função de desconto, use a
CLI da Shopify
para criar um app da Shopify.
DiscountsCodeAppDiscountsCodeBasic
Antes de começar
As seções a seguir descrevem os pré-requisitos que você precisa cumprir antes de criar uma transferência de dados da Shopify.
Pré-requisitos da Shopify
- Você precisa ter uma conta e uma loja da Shopify.
- Você precisa ter um app personalizado da Shopify para sua loja da Shopify. Para mais informações, consulte Apps personalizados.
- Você precisa ter acesso ao escopo necessário para o objeto de dados da Shopify que quer transferir para o BigQuery. Para uma lista de escopos necessários para cada objeto, consulte Objetos compatíveis e escopos necessários.
Pré-requisitos do BigQuery
- Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os dados.
Papéis obrigatórios do BigQuery
Para receber as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery, peça ao administrador para conceder a você o papel do IAM de Administrador do BigQuery (roles/bigquery.admin) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery:
-
Permissões do serviço de transferência de dados do BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
Permissões do BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações, consulte Conceder acesso ao bigquery.admin.
Se quiser configurar notificações de execução de transferência do Pub/Sub,
verifique se você tem a permissão pubsub.topics.setIamPolicy do Identity and Access Management (IAM). As permissões do Pub/Sub não serão necessárias caso você configure apenas notificações por e-mail. Para saber mais informações, consulte
Notificações de execução do serviço de transferência de dados do BigQuery.
Configurar uma transferência de dados da Shopify
Adicione dados do Shopify ao BigQuery definindo uma configuração de transferência usando uma das seguintes opções:
Console
Acesse a página "Transferências de dados" no console do Google Cloud .
Clique em Criar transferência.
Na seção Tipo de origem, em Origem, escolha Shopify.
Na seção Detalhes da fonte de dados, faça o seguinte:
- Em Nome da loja, insira o nome da sua loja da Shopify.
Por exemplo, se o ID da sua conta de comerciante for
storename.myshopify.com, o nome da sua loja serástorename. - Em ID do cliente e Chave secreta do cliente, insira o ID e a chave secreta do cliente do app da Shopify. Para mais informações, consulte Sobre as chaves secretas do cliente.
- Em Objetos da Shopify para transferência, clique em Procurar:
- Selecione os objetos a serem transferidos para o conjunto de dados de destino do BigQuery. Nesse campo, também é possível inserir manualmente qualquer objeto para incluir na transferência de dados.
- Em Nome da loja, insira o nome da sua loja da Shopify.
Por exemplo, se o ID da sua conta de comerciante for
No campo Conjunto de dados da seção Configurações de destino, escolha o conjunto criado para armazenar seus dados.
No campo Nome de exibição da seção Nome de configuração da transferência, insira um nome para a transferência de dados.
Na seção Opções de programação, faça o seguinte:
- Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência será executada quando você acionar manualmente a transferência.
- Se aplicável, selecione Começar agora ou Começar no horário definido e escolha uma data de início e hora de execução.
Opcional: na seção Opções de notificação, faça o seguinte:
- Para ativar as notificações por e-mail, clique no botão que ativa as Notificações por e-mail. Quando essa opção está ativada, o administrador da transferência recebe uma notificação por e-mail quando uma execução da transferência falha.
- Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar tópico.
Clique em Salvar.
bq
Insira o comando bq mk e forneça a sinalização de execução da transferência
--transfer_config:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=NAME --target_dataset=DATASET --params='PARAMETERS'
Em que:
- PROJECT_ID (opcional): o ID do projeto do Google Cloud .
Se
--project_idnão for fornecido para especificar um projeto determinado, o projeto padrão será usado. - DATA_SOURCE: a fonte de dados —
shopify. - NAME: o nome de exibição da configuração da transferência de dados. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.
- DATASET: o conjunto de dados de destino na configuração de transferência.
PARAMETERS é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'. Confira a seguir os parâmetros de uma transferência de dados da Shopify:assets: o caminho para os objetos do Shopify a serem transferidos para o BigQuery.connector.shopName: o nome da sua loja da Shopify. Por exemplo, se o ID da sua conta do comerciante forstorename.myshopify.com, o nome da sua loja serástorename.connector.authentication.accessToken: o token de acesso da API Admin da Shopify.
O comando a seguir cria uma transferência de dados incremental da Shopify no projeto padrão.
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"}'
Para executar manualmente uma transferência de dados fora da programação regular, inicie uma execução de preenchimento.
Objetos compatíveis e escopos necessários
A tabela a seguir lista os objetos de dados da Shopify que podem ser transferidos para o BigQuery e os escopos necessários para cada objeto.
| Objeto de dados | Escopo obrigatório | |
|---|---|---|
| AppFeedbacks | Nenhum escopo necessário | |
| AppSubscriptionLineItems | Nenhum escopo necessário | |
| AppSubscriptions | Nenhum escopo necessário | |
| Catálogos | read_products ou read_product_listings |
|
read_publications |
||
| Coleções | read_products |
|
read_publications |
||
| Empresas | read_customers ou read_companies |
|
| CompanyContactRoleAssignments | read_customers ou read_companies |
|
| CompanyContacts | read_customers ou read_companies |
|
| CompanyLocations | read_customers ou read_companies |
|
| Clientes | 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 |
||
| Arquivos | 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 |
||
| Atendimentos | 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 |
||
| Locais | 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 | Nenhum escopo necessário | |
| 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 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 |
||
| Produtos | read_products |
|
read_product_listings |
||
read_publications |
||
| ProductVariants | read_products |
|
read_shipping |
||
| Publicações | read_products |
|
read_publications |
||
| Reembolsos | read_products |
|
read_orders |
||
read_returns |
||
| Retorna | read_orders |
|
read_returns |
||
| ScriptTags | read_script_tags |
|
| segmentos | read_customers |
|
| SellingPlanGroups | read_products |
|
| StorefrontAccessTokens | Nenhum escopo necessário | |
| UrlRedirects | read_online_store_navigation |
Mapeamento de tipo de dados
A tabela a seguir mapeia os tipos de dados da Shopify para os tipos de dados correspondentes do BigQuery:
| Tipo de dados da Shopify | Tipo de dados do BigQuery |
|---|---|
String |
STRING |
Int |
INT64 |
Decimal |
NUMERIC |
Double |
FLOAT64 |
Long |
BIGNUMERIC |
Bool |
BOOL |
Datetime |
TIMESTAMP |
Preços
Não há custo para transferir dados da Shopify para o BigQuery enquanto esse recurso está em Pré-lançamento.
Resolver problemas na configuração da transferência
Se você tiver problemas para configurar a transferência de dados, consulte Problemas de transferência da Shopify.
A seguir
- Para uma visão geral do serviço de transferência de dados do BigQuery, consulte O que é o serviço de transferência de dados do BigQuery.
- Para informações sobre o uso de transferências, incluindo ver detalhes sobre uma configuração de transferência, listar configurações de transferência e visualizar o histórico de execução de uma transferência, consulte Gerenciar transferências.