將 Salesforce Marketing Cloud 資料載入 BigQuery

您可以使用 Salesforce Marketing Cloud 專用的 BigQuery 資料移轉服務連接器,將資料從 Salesforce Marketing Cloud 載入 BigQuery。透過 BigQuery 資料移轉服務,您可以排定週期性移轉工作,將 Salesforce Marketing Cloud 的最新資料新增至 BigQuery。

限制

Salesforce Marketing Cloud 資料移轉作業會受到下列限制:

  • 如果設定的網路連結和虛擬機器 (VM) 執行個體位於不同區域,從 Salesforce Marketing Cloud 傳輸資料時,可能會發生跨區域資料移動。

事前準備

下列各節說明建立 Salesforce Marketing Cloud 資料轉移作業前,您需要採取的步驟。

Salesforce Marketing Cloud 必要條件

建立 Salesforce Marketing Cloud 資料移轉作業時,您必須提供下列資訊:

參數名稱 說明
subdomain API 子網域
instance API 伺服器執行個體
clientId 應用程式整合項目的用戶端 ID
clientSecret 應用程式整合項目的用戶端密鑰

請按照下列步驟操作,取得建立 Salesforce Marketing Cloud 資料轉移作業所需的資訊:

  1. 安裝伺服器對伺服器類型 API 整合套件。 請記下套件詳細資料頁面「元件」部分中的用戶端 ID、用戶端密鑰和子網域。
  2. 登入 Salesforce Marketing Cloud 應用程式後,即可在網址中找到 API 伺服器執行個體。執行個體值包含 s,後面接著數值。舉例來說,在網址 https://mc.s4.exacttarget.com/ 中,執行個體值為 s4。詳情請參閱「尋找 Marketing Cloud 帳戶的堆疊位置」。

您也必須設定範圍權限,允許 Salesforce Marketing Cloud 資料轉移:

  1. 登入 Salesforce Marketing Cloud 應用程式。

  2. 展開個人資料下拉式選單,然後按一下「設定」

    按一下 Salesforce Marketing Cloud 設定中的「設定」

  3. 在「平台工具」下方的導覽列中,依序點選「應用程式」>「已安裝的套件」

  4. 選取已安裝的套件,即可修改設定。

  5. 在「元件」部分中,按一下「編輯」

  6. 針對下列範圍選取「讀取」選項:

    • 電子郵件
    • 已儲存內容
    • 旅程
    • Callbacks (回呼)
    • 廣告活動
    • 訂閱
  7. 按一下 [儲存]

BigQuery 必要條件

須具備的 BigQuery 角色

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

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

所需權限

如要建立移轉作業,必須具備下列權限:

  • bigquery.transfers.update 使用者
  • bigquery.datasets.get 目標資料集
  • bigquery.datasets.update 目標資料集

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

設定 Salesforce Marketing Cloud 資料轉移作業

如要建立 Salesforce Marketing Cloud 資料移轉作業,請按照下列步驟操作:

主控台

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

    前往「資料移轉」

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

  3. 在「Source type」(來源類型) 部分,「Source」(來源) 請選取「Salesforce Marketing Cloud」

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

    • 在「API Subdomain」(API 子網域) 部分輸入 API 子網域。
    • 在「API instance」(API 執行個體) 部分輸入 API 執行個體值。
    • 在「Client ID」(用戶端 ID) 部分輸入應用程式整合項目的用戶端 ID。
    • 在「Client Secret」(用戶端密鑰) 部分輸入應用程式整合項目的用戶端密鑰。
  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. 按一下「儲存」

執行這項資料移轉作業時,BigQuery 資料移轉服務會根據 REST 介面,自動填入下列資料表。

  • Campaigns
  • Categories
  • EventDefinitions
  • Journeys
  • JourneyActivities
  • SendDefinitions
  • Subscriptions

bq

輸入 bq mk 指令,並提供移轉建立標記 --transfer_config

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

更改下列內容:

  • PROJECT_ID (選用):您的 Google Cloud 專案 ID。 如未提供 --project_id 指定特定專案,系統會使用預設專案。
  • DATA_SOURCE:資料來源 (例如 saphana)。
  • DISPLAY_NAME:移轉設定的顯示名稱。資料移轉名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
  • DATASET:移轉設定的目標資料集。
  • PARAMETERS:已建立移轉設定的 JSON 格式參數。例如:--params='{"param":"param_value"}'。以下是 Salesforce Marketing Cloud 轉移作業的參數:
    • connector.subdomain:API 子網域。
    • connector.instance:API 執行個體值。
    • connector.authentication.oauth.clientId:OAuth 用戶端的應用程式 ID 名稱。
    • connector.authentication.oauth.clientSecret:OAuth 用戶端的應用程式密鑰。

舉例來說,下列指令會在預設專案中建立 Salesforce Marketing Cloud 資料移轉作業,並包含所有必要參數:

  bq mk
      --transfer_config
      --target_dataset=mydataset
      --data_source=salesforce_marketing
      --display_name='My Transfer'
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

請使用 projects.locations.transferConfigs.create 方法,並提供 TransferConfig 資源的執行個體

排解轉移設定問題

如果無法順利設定 Salesforce Marketing Cloud 資料移轉作業,請嘗試下列疑難排解步驟:

錯誤訊息

錯誤:invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

解決方法:請嘗試下列任一步驟:

  • 啟用所有可用的資源 IP 位址 Google Cloud
  • 停用 IP 許可清單。如要執行這項操作,請登入 Salesforce Marketing Cloud 應用程式,然後前往「設定」>「安全性設定」頁面。按一下「編輯」,然後將「依 IP 位址限制登入 (IP 許可清單)」設定設為「已停用 IP 許可清單」

停用 IP 許可清單

錯誤:INVALID_ARGUMENT. Table tableName does not exist in asset TableName

解決方法:請確認您已在 Salesforce Marketing Cloud 應用程式中設定正確的範圍權限。詳情請參閱 Salesforce Marketing Cloud 先決條件

定價

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

後續步驟