將 Shopify 資料載入 BigQuery

您可以使用 BigQuery 資料移轉服務的 Shopify 連接器,將資料從 Shopify 載入至 BigQuery。您可以使用 BigQuery 資料移轉服務,安排週期性移轉工作,將 Shopify 的最新資料新增至 BigQuery。

Shopify 連接器支援從下列資源移轉以 GraphQL 為基礎的資源資料,例如 CollectionsOrders

  • 訂閱型帳戶
  • 合作夥伴帳戶

限制

Shopify 資料移轉作業會受到下列限制:

  • 如要在資料移轉中加入 GiftCards 物件,與這項資料移轉作業相關聯的帳戶必須訂閱 Shopify Plus。
  • 如要在資料轉移中加入下列應用程式訂閱資料物件,Shopify 商店安裝的應用程式必須是銷售通路應用程式
    • AppSubscriptionLineItems
    • AppSubscriptions
    • ProductResourceFeedbacks
  • 如要加入下列需要折扣函式的 Shopify 資料物件,請使用 Shopify CLI 建立 Shopify 應用程式。
    • DiscountsCodeApp
    • DiscountsCodeBasic

事前準備

下列各節說明建立 Shopify 資料轉移作業前必須完成的必要條件。

Shopify 先決條件

  • 你必須擁有 Shopify 帳戶和 Shopify 商店。
  • 你必須為 Shopify 商店建立自訂 Shopify 應用程式。詳情請參閱「自訂應用程式」。
  • 您必須具備所有必要存取權範圍的存取權。如需所有必要存取範圍的清單,請參閱「已驗證的存取範圍」。

BigQuery 必要條件

必要的 BigQuery 角色

如要取得建立 BigQuery 資料移轉服務資料移轉作業所需的權限,請要求管理員授予您專案的 BigQuery 管理員 (roles/bigquery.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立 BigQuery 資料移轉服務資料移轉作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立 BigQuery 資料移轉服務資料移轉作業,您必須具備下列權限:

  • BigQuery 資料移轉服務權限:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery 權限:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

詳情請參閱「授予 bigquery.admin 存取權」。

如要為 Pub/Sub 設定移轉作業執行通知,請確認您擁有 pubsub.topics.setIamPolicy 身分與存取權管理 (IAM) 權限。如果您只想設定電子郵件通知,則不需要擁有 Pub/Sub 權限。詳情請參閱 BigQuery 資料移轉服務執行通知

設定 Shopify 資料移轉

如要將 Shopify 資料新增至 BigQuery,請使用下列任一方法設定移轉設定:

控制台

  1. 前往 Google Cloud 控制台的「資料移轉」頁面。

    前往「資料轉移」頁面

  2. 按一下「建立轉移作業」

  3. 在「來源類型」部分,針對「來源」選擇「Shopify」

  4. 在「Data source details」(資料來源詳細資料) 部分執行下列操作:

    • 在「Shop name」中,輸入 Shopify 商店名稱。 舉例來說,如果商家帳戶 ID 為 storename.myshopify.com,則商店名稱為 storename
    • 在「Client ID」(用戶端 ID) 和「Client Secret」(用戶端密鑰) 中,輸入 Shopify 應用程式的用戶端 ID 和密鑰。詳情請參閱「關於用戶端密鑰」。
    • 在「Shopify objects to transfer」(要移轉的 Shopify 物件) 部分,點選「Browse」(瀏覽)
      • 選取要轉移至 BigQuery 目的地資料集的所有物件。您也可以在這個欄位手動輸入要移轉資料的物件。
  5. 在「Destination settings」(目的地設定) 部分,「Dataset」(資料集) 請選取您為了儲存資料而建立的資料集。

  6. 在「Transfer config name」(轉移設定名稱) 部分,「Display name」(顯示名稱) 請輸入資料移轉作業名稱。

  7. 在「Schedule options」(排程選項) 專區:

    • 在「Repeat frequency」(重複執行頻率) 清單中,選取選項,指定這項資料移轉作業的執行頻率。如要指定自訂重複頻率,請選取「Custom」(自訂)。如果選取「On-demand」(隨選),這項移轉作業會在您手動觸發後執行。
    • 視情況選取「Start now」(立即開始) 或「Start at set time」(在所設時間開始執行),並提供開始日期和執行時間。
  8. 選用:在「Notification options」(通知選項) 專區,執行下列操作:

    • 如要啟用電子郵件通知,請點選「Email notification」(電子郵件通知) 切換按鈕。啟用這個選項之後,若移轉失敗,移轉作業管理員就會收到電子郵件通知。
    • 如要針對這項移轉作業啟用 Pub/Sub 移轉作業執行通知,請點選「Pub/Sub notifications」(Pub/Sub 通知) 切換按鈕。您可以選取主題名稱,也可以點選「Create a topic」(建立主題) 來建立主題。
  9. 按一下 [儲存]

bq

輸入 bq mk 指令並加上移轉建立標記 --transfer_config

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

其中:

  • PROJECT_ID (選用):您的 Google Cloud 專案 ID。 如未提供 --project_id 指定特定專案,系統會使用預設專案。
  • DATA_SOURCE:資料來源 - shopify
  • NAME:資料移轉設定的顯示名稱。移轉作業名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
  • DATASET:移轉設定的目標資料集。
  • PARAMETERS:已建立移轉設定的 JSON 格式參數。例如:--params='{"param":"param_value"}'。以下是 Shopify 資料移轉的參數:

    • assets:要移轉至 BigQuery 的 Shopify 物件路徑。
    • connector.shopName:Shopify 商店名稱。舉例來說,如果商家帳戶 ID 為 storename.myshopify.com,則商店名稱為 storename
    • connector.authentication.accessToken:Shopify 管理 API 存取權杖。

下列指令會在預設專案中建立 Shopify 資料增量轉移作業。

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"}'
儲存移轉設定後,Shopify 連接器會根據排程選項自動觸發移轉作業。每次執行轉移作業時,Shopify 連接器都會將 Shopify 的所有可用資料轉移至 BigQuery。

如要手動執行資料轉移 (不在正常排程內),可以啟動回填作業

支援的資料表

Shopify 連接器支援下列資料物件:

  • AppFeedbacks
  • AppSubscriptionLineItems (需要銷售管道應用程式)
  • AppSubscriptions (需要銷售管道應用程式)
  • Catalogs
  • Collections
  • Companies
  • CompanyContactRoleAssignments
  • CompanyContacts
  • CompanyLocations
  • Customers
  • DeliveryProfiles
  • DiscountsAutomaticApp (須有折扣函式)
  • DiscountsAutomaticBasic (須有折扣函式)
  • DiscountsAutomaticBxgy
  • DiscountsCodeApp
  • DiscountsCodeBasic
  • DiscountsCodeBxgy
  • DraftOrders
  • Files
  • FulfillmentEvents
  • FulfillmentOrders
  • Fulfillments
  • FulfillmentServices
  • FulfillmentTrackingInfo
  • GiftCards (需要訂閱 Shopify Plus)
  • InventoryItems
  • Locations
  • Metafield 物件,例如 metafield_productmetafield_order
  • OrderRiskAssessments
  • Orders
  • OrderTransactions
  • PriceLists
  • ProductMediaImages
  • ProductOptions
  • ProductOptionValues
  • ProductResourceFeedbacks (需要銷售管道應用程式)
  • Products
  • ProductVariants
  • Publications
  • Refunds
  • Returns
  • ScriptTags
  • Segments
  • SellingPlanGroups
  • StorefrontAccessTokens
  • UrlRedirects

資料類型對應

下表將 Shopify 資料類型對應至相應的 BigQuery 資料類型:

Shopify 資料類型 BigQuery 資料類型
String STRING
Int INT64
Decimal NUMERIC
Double FLOAT64
Long BIGNUMERIC
Bool BOOL
Datetime TIMESTAMP

定價

這項功能處於預覽階段時,將 Shopify 資料移轉至 BigQuery 不會產生費用。

排解轉移設定問題

如果無法順利設定資料移轉作業,請參閱「Shopify 移轉問題」。

後續步驟