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
GiftCardsdalam 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.
AppSubscriptionLineItemsAppSubscriptionsProductResourceFeedbacks
- Untuk menyertakan objek data Shopify berikut yang memerlukan
fungsi diskon, Anda harus
menggunakan Shopify CLI
untuk membuat aplikasi Shopify.
DiscountsCodeAppDiscountsCodeBasic
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
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data Anda.
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
Buka halaman Transfer Data di konsol Google Cloud .
Klik Create transfer.
Di bagian Source type, untuk Source, pilih Shopify.
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 adalahstorename. - 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.
- Untuk Shop name, masukkan nama toko Shopify Anda.
Misalnya, jika ID akun penjual Anda adalah
Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data Anda.
Di bagian Transfer config name, untuk Display name, masukkan nama tampilan untuk transfer data.
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.
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.
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_idtidak 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 adalahstorename.myshopify.com, nama toko Anda adalahstorename.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"}'
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.