Salesforce 批次來源

本頁說明如何使用 Cloud Data Fusion 將資料從 Salesforce sObjects 載入 Google Cloud。Salesforce 批次來源外掛程式會讀取 Salesforce 中的 sObject。sObjects 是您要從中擷取資料的 Salesforce 資料表。sObjects 的範例包括商機、聯絡人、帳戶、待開發客戶和自訂物件。

Salesforce 批次來源外掛程式支援使用 Salesforce 物件查詢語言 (SOQL) 查詢和增量或範圍日期篩選器讀取資料。

事前準備

設定外掛程式

  1. 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」
  2. 確認已選取「資料管道 - 批次」 (而非「即時」)。
  3. 在「Source」選單中,點選「Salesforce」。Salesforce 節點會顯示在管道中。如果您在「Studio」頁面上看不到 Salesforce 來源,請從 Cloud Data Fusion Hub 部署 Salesforce 外掛程式
  4. 如要設定來源,請前往 Salesforce 節點,然後按一下「Properties」
  5. 輸入下列屬性。如需完整清單,請參閱「屬性」。

    1. 輸入 Salesforce 節點的標籤,例如 Salesforce tables
    2. 輸入 Salesforce 來源的參照名稱,例如 Salesforce tables
    3. 輸入連線詳細資料。您可以設定新的一次性連線,或現有的可重複使用的連線。

      新連結

      如要新增一次性 Salesforce 連線,請按照下列步驟操作:

      1. 關閉「Use connection」
      2. 在「Connection」專區中,在下列欄位中輸入 Salesforce 帳戶的相關資訊:

        • 使用者名稱
        • 密碼
        • 安全性權杖
        • 消費端金鑰
        • 消費端密鑰

        如要從 Salesforce 取得憑證,請參閱「從 Salesforce 取得屬性」一文。

      可重複使用的連線

      如要重複使用現有的連線,請按照下列步驟操作:

      1. 開啟「Use connection」
      2. 按一下「瀏覽連線」
      3. 按一下連線名稱。

      4. 選用步驟:如果沒有連線,但您想建立可重複使用的新連線,請按一下「新增連線」,然後參閱「新連線分頁中的步驟。

    4. 輸入 SObject 名稱,即可從物件載入所有欄。

    5. 選用:如果您選取 sObject 名稱,可以使用下列欄位篩選資料:

      • 上次修改日期後:只包含上次修改日期後的記錄。
      • 上次修改日期前:只包含上次修改時間早於指定時間的記錄。
      • Duration:只包含上次修改時間為指定時間長度的記錄。
      • 偏移量:只納入上次修改日期小於管道邏輯開始時間 (減去指定偏移量) 的記錄。
    6. 選用:如要改善管道的效能,請針對支援的 sObject 開啟「啟用 PK 區塊處理」。詳情請參閱「使用 PK 區塊功能改善效能」。

    7. 選用:您可以輸入 SOQL 查詢 (例如 SELECT LastName from Contact),而非指定 sObject 名稱。詳情請參閱「Salesforce 來源的 SOQL 查詢」。

    8. 如要測試連線,請按一下「取得架構」。Cloud Data Fusion 會連線至 Salesforce,並擷取所列資料表的結構定義 (技術上稱為 sObject)。

屬性

屬性 已啟用巨集 必要屬性 說明
參照名稱 用於明確識別此來源的任務,例如系統結構、註解中繼資料。
使用連線 使用現有連結。如果使用連線,您不需要提供憑證。
瀏覽連線 要使用的連線名稱。
使用者名稱 Salesforce 使用者名稱。
密碼 Salesforce 密碼。
安全性權杖 Salesforce 安全性權杖。如果密碼不含安全性權杖,Cloud Data Fusion 會在透過 Salesforce 進行驗證前附加權杖。
消費端金鑰 應用程式用戶端金鑰。這也稱為 OAuth 用戶端 ID。如要取得用戶端金鑰,請建立與 Salesforce 連結的應用程式
消費端密鑰 應用程式用戶端密鑰。這也稱為 OAuth 用戶端密碼。如要取得用戶端密鑰,請建立與 Salesforce 連結的應用程式
登入網址 Salesforce OAuth2 登入網址。
預設為 https://login.salesforce.com/services/oauth2/token
連線逾時 等待連線初始化作業完成前,最多可等待的時間 (以毫秒為單位)。
預設值為 30000 毫秒。
Proxy 網址 Proxy URL,包含通訊協定、位址和通訊埠。
SOQL 擷取資料至來源的 SOQL 查詢。
範例:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
SObject 名稱 要讀取的 Salesforce 物件名稱。如果提供值,連接器會從 Salesforce 取得此物件的所有欄位,並產生 SOQL 查詢,例如 select FIELD_1, FIELD_2 from ${sObjectName}。如果提供 SOQL 查詢,系統會忽略這項設定。
Salesforce Bulk API 中也有一些不支援的 sObject。使用不支援的物件建立工作會導致下列錯誤:Entity is not supported by the Bulk API。Einstein Analytics 使用大量資料 API 查詢資料,因此也不支援這些物件。
不使用 BULK API 的情況:當查詢長度將查詢傳送至 Salesforce 以接收批次資訊陣列時,系統不會使用 BULK API。如果查詢在限制範圍內,系統就會執行原始查詢。否則會切換至寬物件邏輯。舉例來說,它會產生 ID 查詢,只擷取 ID 的批次資訊,日後可用於透過 SOAP API 擷取資料。
上次修改時間晚於 篩選資料,只保留系統欄位 LastModifiedDate 大於或等於指定日期的記錄。請使用 Salesforce 日期格式 (請參閱範例)。如果未提供任何值,系統就不會套用下限日期。
上次修改時間早於 篩選資料,只保留系統欄位 LastModifiedDate 小於指定日期的記錄。使用 Salesforce 日期格式 (請參閱範例)。您可以使用「上次修改日期後」屬性指定這個值,讀取在特定時間範圍內修改的資料。如果未提供值,系統就不會套用上限日期。
時間長度 篩選資料,只讀取上次修改時間在指定大小時間範圍內的記錄。舉例來說,如果時間長度為 6 hours,且管道在早上 9 點執行,則會讀取從凌晨 3 點 (含) 到上午 9 點 (含) 之間最後更新的資料。請使用數字和下列時間單位指定時間長度:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
您可以指定多個單位,但每個單位只能使用一次。例如:2 days, 1 hours, 30 minutes。如果已為 Last modified afterLast modified before 指定值,系統會忽略時間長度。
偏移 篩選資料,只讀取系統欄位 LastModifiedDate 小於管道邏輯開始時間 (減去指定偏移量) 的記錄。舉例來說,如果時間長度為 6 hours、偏移量為 1 hours,且管道在 9 點執行,系統會讀取上次修改時間介於凌晨 2 點 (含) 至 8 點 (不含) 之間的資料。
使用數字和下列時間單位指定時間長度:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
您可以指定多個單位,但每個單位只能使用一次。例如:2 days, 1 hours, 30 minutes。如果已為 Last modified afterLast modified before 指定值,系統會忽略偏移量。
SOQL 運算類型 指定要在資料表上執行的查詢作業。如果選取查詢,系統只會傳回目前的記錄。選取 queryAll 會傳回所有目前和已刪除的記錄。
預設運算為 query
啟用 PK 分割 主鍵 (PK) 區塊化會根據查詢記錄的記錄 ID 或主鍵,將大型資料表的查詢拆分為多個部分或區塊。
Salesforce 建議您在查詢超過 1, 000 萬筆記錄的資料表,或當大量查詢持續逾時時,啟用 PK 區塊處理。詳情請參閱「 PK 區塊處理」。PK 區塊處理功能僅適用於不含 SELECT 子句的查詢,或 WHERE 以外的條件。自訂物件和任何支援標準物件的「分享」和「歷程記錄」資料表都支援分割。
分塊大小 指定分塊大小。大小上限為 250,000。預設大小為 100,000。
SObject 父項名稱 Salesforce 物件的父項。用於啟用記錄資料表或共用物件的區塊功能。

Salesforce 日期格式範例

格式語法 範例
YYYY-MM-DDThh:mm:ss+hh:mm 1999-01-01T23:01:01+01:00
YYYY-MM-DDThh:mm:ss-hh:mm 1999-01-01T23:01:01-08:00
YYYY-MM-DDThh:mm:ssZ 1999-01-01T23:01:01Z

資料類型對應關係

下表列出 Salesforce 資料類型及其對應的 CDAP 類型。

Salesforce 資料類型 CDAP 架構資料類型
_bool boolean
_int int
_long long
_doublecurrencypercentgeolocation (緯度)、geolocation (經度) double
date date
datetime timestamp (微秒)
time time (微秒)
picklist string
multipicklist string
combobox string
reference string
base64 string
textarea string
phone string
id string
url string
email string
encryptedstring string
datacategorygroupreference string
location string
address string
anyType string
json string
complexvalue string

用途

請參閱下列 Salesforce 批次來源的用途:

最佳做法

如要進一步瞭解如何改善 Salesforce 批次來源的效能,請參閱最佳做法

後續步驟