Memuat data Shopify ke BigQuery

Anda dapat memuat data dari Shopify ke BigQuery menggunakan konektor BigQuery Data Transfer Service untuk Shopify. Dengan BigQuery Data Transfer Service, Anda dapat menjadwalkan tugas transfer berulang yang menambahkan data terbaru dari Shopify ke BigQuery.

Konektor Shopify mendukung transfer data resource berbasis GraphQL, seperti Collections dan Orders, dari resource berikut:

  • Akun berbasis langganan
  • Akun partner

Batasan

Transfer data Shopify tunduk pada batasan berikut:

  • Untuk menyertakan objek GiftCards dalam transfer data, akun yang terkait dengan transfer data ini harus memiliki langganan ShopifyPlus.
  • Untuk menyertakan objek data langganan aplikasi berikut dalam transfer data, aplikasi yang diinstal di toko Shopify harus berupa aplikasi saluran penjualan.
    • AppSubscriptionLineItems
    • AppSubscriptions
    • ProductResourceFeedbacks
  • Untuk menyertakan objek data Shopify berikut yang memerlukan fungsi diskon, Anda harus menggunakan Shopify CLI untuk membuat aplikasi Shopify.
    • DiscountsCodeApp
    • DiscountsCodeBasic

Sebelum memulai

Bagian berikut menjelaskan prasyarat yang perlu Anda lakukan sebelum membuat transfer data Shopify.

Prasyarat Shopify

  • Anda harus memiliki akun Shopify dan toko Shopify.
  • Anda harus memiliki Aplikasi Shopify kustom untuk toko Shopify Anda. Untuk mengetahui informasi selengkapnya, lihat Aplikasi kustom.
  • Anda harus memiliki akses ke cakupan yang diperlukan untuk objek data Shopify yang ingin Anda transfer ke BigQuery. Untuk mengetahui daftar cakupan yang diperlukan untuk setiap objek, lihat Objek yang didukung dan cakupan yang diperlukan.

Prasyarat BigQuery

Peran BigQuery yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service, minta administrator untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat transfer data BigQuery Data Transfer Service:

  • Izin BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Izin BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bigquery.admin.

Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, pastikan Anda memiliki izin Identity and Access Management (IAM) pubsub.topics.setIamPolicy. Izin Pub/Sub tidak diperlukan jika Anda hanya menyiapkan notifikasi email. Untuk informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.

Menyiapkan transfer data Shopify

Tambahkan data Shopify ke BigQuery dengan menyiapkan konfigurasi transfer menggunakan salah satu opsi berikut:

Konsol

  1. Buka halaman Transfer Data di konsol Google Cloud .

    Buka Transfer data

  2. Klik Create transfer.

  3. Di bagian Source type, untuk Source, pilih Shopify.

  4. Di bagian Detail sumber data, lakukan hal berikut:

    • Untuk Shop name, masukkan nama toko Shopify Anda. Misalnya, jika ID akun penjual Anda adalah storename.myshopify.com, nama toko Anda adalah storename.
    • Untuk Client ID dan Client Secret, masukkan client ID dan rahasia untuk aplikasi Shopify Anda. Untuk informasi selengkapnya, lihat Tentang rahasia klien.
    • Untuk Shopify objects to transfer, klik Browse:
      • Pilih objek yang akan ditransfer ke set data tujuan BigQuery. Anda juga dapat memasukkan objek apa pun secara manual untuk disertakan dalam transfer data di kolom ini.
  5. Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data Anda.

  6. Di bagian Transfer config name, untuk Display name, masukkan nama tampilan untuk transfer data.

  7. Di bagian Schedule options:

    • Dalam daftar Repeat frequency, pilih opsi untuk menentukan seberapa sering transfer data ini dijalankan. Untuk menentukan frekuensi pengulangan kustom, pilih Custom. Jika Anda memilih On-demand, transfer ini akan berjalan saat Anda memicu transfer secara manual.
    • Jika perlu, pilih Start now atau Start at set time, lalu masukkan tanggal mulai dan waktu proses.
  8. Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:

    • Untuk mengaktifkan notifikasi email, klik tombol Notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
    • Untuk mengaktifkan notifikasi operasi transfer Pub/Sub untuk transfer ini, klik tombol Pub/Sub notifications. Anda dapat memilih nama topik, atau mengklik Create a topic untuk membuatnya.
  9. Klik Simpan.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer --transfer_config:

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

Dengan:

  • PROJECT_ID (opsional): project ID Google Cloud Anda. Jika --project_id tidak diberikan untuk menentukan project tertentu, project default akan digunakan.
  • DATA_SOURCE: sumber data — shopify.
  • NAME: nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • DATASET: set data target untuk konfigurasi transfer.
  • PARAMETERS: parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Berikut adalah parameter untuk transfer data Shopify:

    • assets: jalur ke objek Shopify yang akan ditransfer ke BigQuery.
    • connector.shopName: nama toko Shopify Anda. Misalnya, jika ID akun penjual Anda adalah storename.myshopify.com, nama toko Anda adalah storename.
    • connector.authentication.accessToken: token akses API Admin Shopify.

Perintah berikut membuat transfer data Shopify inkremental di project default.

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"}'
Saat Anda menyimpan konfigurasi transfer, konektor Shopify akan otomatis memicu operasi transfer sesuai dengan opsi jadwal Anda. Dengan setiap operasi transfer, konektor Shopify mentransfer semua data yang tersedia dari Shopify ke BigQuery.

Untuk menjalankan transfer data secara manual di luar jadwal reguler, Anda dapat memulai operasi pengisian ulang.

Objek yang didukung dan cakupan yang diperlukan

Tabel berikut mencantumkan objek data Shopify yang dapat ditransfer ke BigQuery dan cakupan yang diperlukan untuk setiap objek.

Objek data Cakupan yang diperlukan
AppFeedbacks Tidak memerlukan cakupan
AppSubscriptionLineItems Tidak memerlukan cakupan
AppSubscriptions Tidak memerlukan cakupan
Katalog read_products atau read_product_listings
read_publications
Koleksi read_products
read_publications
Perusahaan read_customers atau read_companies
CompanyContactRoleAssignments read_customers atau read_companies
CompanyContacts read_customers atau read_companies
CompanyLocations read_customers atau read_companies
Pelanggan read_customers
write_customers
read_customer_merge
read_locations atau 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 atau read_merchant_managed_fulfillment_orders atau read_third_party_fulfillment_orders
Fulfillment read_fulfillments atau read_products
read_locations
read_orders
FulfillmentServices read_locations atau read_inventory
read_fulfillments atau read_products atau read_custom_fulfillment_services atau assigned_fulfillment_orders
FulfillmentTrackingInfo read_fulfillments atau read_products
read_locations
read_orders
GiftCards read_gift_cards
read_orders
read_customers
InventoryItems read_inventory
read_products
Lokasi 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 atau 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 Tidak memerlukan cakupan
Metafields_Variant read_products
read_shipping
OrderLineItems read_orders
read_products
OrderRiskAssessments read_orders
Orders read_customers
read_inventory
read_locations
read_orders
read_payment_terms
read_draft_orders
read_products atau 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
Produk read_products
read_product_listings
read_publications
ProductVariants read_products
read_shipping
Publikasi read_products
read_publications
Pengembalian dana read_products
read_orders
read_returns
Pengembalian read_orders
read_returns
ScriptTags read_script_tags
Segmen read_customers
SellingPlanGroups read_products
StorefrontAccessTokens Tidak memerlukan cakupan
UrlRedirects read_online_store_navigation

Pemetaan jenis data

Tabel berikut memetakan jenis data Shopify ke jenis data BigQuery yang sesuai:

Jenis data Shopify Jenis data BigQuery
String STRING
Int INT64
Decimal NUMERIC
Double FLOAT64
Long BIGNUMERIC
Bool BOOL
Datetime TIMESTAMP

Harga

Tidak ada biaya untuk mentransfer data Shopify ke BigQuery selama fitur ini dalam status Pratinjau.

Memecahkan masalah penyiapan transfer

Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Shopify.

Langkah berikutnya

  • Untuk ringkasan BigQuery Data Transfer Service, lihat Apa itu BigQuery Data Transfer Service.
  • Untuk informasi cara menggunakan transfer, termasuk mendapatkan informasi tentang konfigurasi transfer, membuat listingan konfigurasi transfer, dan melihat histori pelaksanaan transfer, lihat Mengelola transfer.