本頁說明如何使用 Cloud Data Fusion,將資料從 Salesforce sObject 載入 Google Cloud。Salesforce 批次來源外掛程式會讀取 Salesforce 中的 sObject。sObject 是指您打算從中擷取的 Salesforce 資料表。 sObjects 包括商機、聯絡人、帳戶、待開發客戶和自訂物件等。
Salesforce 批次來源外掛程式支援使用 Salesforce 物件查詢語言 (SOQL) 查詢讀取資料,以及增量或範圍日期篩選器。
事前準備
- Cloud Data Fusion Salesforce 批次來源會使用 Salesforce Bulk API V1。
- 部署及使用 Cloud Data Fusion Salesforce 外掛程式前,請先設定 Salesforce。詳情請參閱「為 Cloud Data Fusion 建立 Salesforce 連線應用程式」。
設定外掛程式
- 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」(工作室)。
- 確認已選取「Data Pipeline - Batch」(資料管道 - 批次),而非「Realtime」(即時)。
- 在「來源」選單中,按一下「Salesforce」。Salesforce 節點會顯示在管道中。如果「Studio」頁面未顯示 Salesforce 來源,請從 Cloud Data Fusion Hub 部署 Salesforce 外掛程式。
- 如要設定來源,請前往 Salesforce 節點,然後按一下「Properties」(屬性)。
輸入下列屬性。如需完整清單,請參閱「屬性」。
- 輸入 Salesforce 節點的「標籤」,例如
Salesforce tables
。 - 輸入 Salesforce 來源的「參照名稱」,以用於沿襲,例如
Salesforce tables
。 輸入連線詳細資料。您可以設定新的單次連線,或是現有的可重複使用連線。
新連結
如要新增與 Salesforce 的一次性連線,請按照下列步驟操作:
- 請關閉「使用連線」。
在「連線」部分中,在下列欄位中輸入 Salesforce 帳戶的資訊:
- 使用者名稱
- 密碼
- 安全性權杖
- 消費端金鑰
- 消費端密鑰
如要從 Salesforce 取得憑證,請參閱「從 Salesforce 取得屬性」。
可重複使用的連線
如要重複使用現有連線,請按照下列步驟操作:
輸入 SObject 名稱,載入物件中的所有欄。
選用:如果選取 sObject 名稱,可以使用下列欄位篩選資料:
- Last modified after (上次於此日期後修改):只納入上次修改時間晚於指定時間的記錄。
- Last modified before (上次於此日期前修改):只納入上次修改時間早於指定時間的記錄。
- 時間長度:只納入在指定大小的時間範圍內上次修改的記錄。
- 偏移:只納入「上次修改日期」小於管道邏輯開始時間 (減去指定偏移) 的記錄。
選用:如要提升管道的效能,請為支援的 sObject 開啟「啟用 PK 分塊」。詳情請參閱「使用 PK 分塊功能提升效能」。
選用:您可以輸入 SOQL 查詢 (例如
SELECT LastName from Contact
),不必指定 sObject 名稱。詳情請參閱Salesforce 來源的 SOQL 查詢。如要測試連線,請按一下「取得架構」。Cloud Data Fusion 會連線至 Salesforce,並提取所列資料表 (技術上為 sObject) 的結構定義。
- 輸入 Salesforce 節點的「標籤」,例如
屬性
屬性 | 含巨集功能 | 必要屬性 | 說明 |
---|---|---|---|
參照名稱 | 否 | 是 | 用於明確識別這項來源,以執行譜系、註解中繼資料等工作。 |
使用連線 | 否 | 否 | 使用現有連結。如果使用連線,則不需要提供憑證。 |
瀏覽連結 | 是 | 否 | 要使用的連線名稱。 |
使用者名稱 | 是 | 是 | Salesforce 使用者名稱。 |
密碼 | 是 | 是 | Salesforce 密碼。 |
安全性權杖 | 是 | 否 | Salesforce 安全性權杖。如果密碼不含安全權杖,Cloud Data Fusion 會在向 Salesforce 驗證前附加權杖。 |
消費端金鑰 | 是 | 是 | 應用程式用戶端金鑰。這也稱為 OAuth 用戶端 ID。如要取得消費者金鑰,請建立 Salesforce 連結的應用程式。 |
消費端密鑰 | 是 | 是 | 應用程式用戶端密鑰。這也稱為 OAuth 用戶端密碼。如要取得用戶端密鑰,請建立 Salesforce 連結的應用程式。 |
登入網址 | 是 | 是 | Salesforce OAuth2 登入網址。 預設值為 https://login.salesforce.com/services/oauth2/token |
連線逾時 | 是 | 否 | 連線初始化逾時前的等待時間上限 (以毫秒為單位)。 預設值為 30000 毫秒。 |
Proxy 網址 | 是 | 否 | Proxy 網址,包含通訊協定、位址和通訊埠。 |
SOQL | 是 | 否 | 用來將資料擷取至來源的 SOQL 查詢。 範例:
|
Salesforce 物件名稱 | 是 | 否 | 要讀取的 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 也不支援這些物件,因為 Einstein Analytics 會使用 Bulk API 查詢資料。不使用 BULK API 的情況:當查詢長度將查詢傳送至 Salesforce 以接收批次資訊陣列時,在某種情況下不會使用 Bulk API。如果查詢在限制範圍內,系統就會執行原始查詢。否則會切換至寬物件邏輯。 舉例來說,系統會產生 ID 查詢,只擷取稍後會透過 SOAP API 擷取資料的 ID 批次資訊。 |
上次修改時間晚於 | 是 | 否 | 篩選資料,只納入系統欄位「LastModifiedDate 」大於或等於指定日期的記錄。使用 Salesforce 日期格式 (請參閱範例)。如未提供任何值,系統就不會套用下限日期。 |
上次修改時間早於 | 是 | 否 | 篩選資料,只納入系統欄位「LastModifiedDate 」小於指定日期的記錄。使用 Salesforce 日期格式 (請參閱範例)。使用「上次於此日期後修改」屬性指定這個值,即可讀取在時間範圍內修改的資料。如未提供值,系統就不會套用日期上限。 |
時間長度 | 是 | 否 | 篩選資料,只讀取在指定大小的時間範圍內上次修改的記錄。舉例來說,如果時間長度為 6 hours ,且管道在上午 9 點執行,則會讀取上次更新時間為上午 3 點 (含) 到上午 9 點 (不含) 的資料。請以數字和下列時間單位指定時間長度:
2 days, 1 hours, 30 minutes 。如果已為「上次修改時間晚於」或「上次修改時間早於」指定值,系統會忽略時間範圍。 |
偏移 | 是 | 否 | 篩選資料,只讀取系統欄位 LastModifiedDate 小於管道邏輯開始時間 (減去指定偏移量) 的記錄。舉例來說,如果時間長度為 6 hours ,偏移量為 1 hours ,且管道在上午 9 點執行,系統會讀取上次修改時間介於上午 2 點 (含) 和上午 8 點 (不含) 的資料。使用數字和下列時間單位指定時間長度:
2 days, 1 hours, 30 minutes 。如果已為「上次修改時間晚於」或「上次修改時間早於」指定值,系統會忽略偏移量。 |
SOQL 作業類型 | 否 | 否 | 指定要在資料表上執行的查詢作業。如果選取查詢,系統只會傳回目前的記錄。選取 queryAll 會傳回所有現有和已刪除的記錄。預設作業為 query 。 |
啟用主鍵分塊 | 是 | 否 | 主鍵 (PK) 區塊化會根據所查詢記錄的記錄 ID 或主鍵,將大型資料表的查詢分割成多個部分或區塊。 如果查詢的資料表包含超過 1 千萬筆記錄,或大量查詢作業經常逾時,Salesforce 建議您啟用 PK 分塊。 詳情請參閱「 PK chunking」。PK 分塊只適用於不含 SELECT 子句或 WHERE 以外條件的查詢。自訂物件和支援標準物件的任何「共用和記錄」表格,都支援分塊。 |
分塊大小 | 是 | 否 | 指定分塊大小。大小上限為 250,000。預設大小為 100,000。 |
Salesforce 物件父項名稱 | 是 | 否 | 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 |
_double 、currency 、percent 、geolocation (緯度)、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 外掛程式 1.7.0 版的必要條件
Cloud Data Fusion 6.8.0 以上版本提供 Salesforce 外掛程式 1.7.0 版。這個版本將 Salesforce Bulk API V1 版本從 62.0 升級至 64.0。
Salesforce 已在 API 64.0 版中淘汰特定欄位。 升級至 Salesforce 外掛程式 1.7.0 版後,使用這些欄位的管道可能會失敗。為確保管道繼續運作,請手動更新管道結構定義,載入新結構定義或移除已淘汰的欄位。
Salesforce API 64.0 版中已淘汰的欄位
Salesforce 已在 API 64.0 版中淘汰下列欄位:
物件名稱 | 欄位名稱 |
---|---|
MobSecurityCertPinConfig | EffectiveDate |
設定檔 | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSetLicense | MaximumPermissionsAllowObjectDetectionTraining MaximumPermissionsAllowObjectDetection |
UserPermissionAccess | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
MutingPermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
網域 | OptionsHstsHeaders |
使用者 | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
UserChangeEvent | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
更新管道結構定義
如果管道使用任何已淘汰的欄位,請載入新的結構定義或移除已淘汰的欄位,藉此更新管道結構定義:
前往 Cloud Data Fusion 網頁介面,然後按一下「List」(清單)。
如要查看已部署的管道,請按一下「Deployed」(已部署) 分頁標籤。
找出要更新的管道,然後依序點按
>「編輯」。在「Studio」檢視畫面中,將游標懸停在 Salesforce 來源外掛程式上,然後按一下「Properties」(屬性)。
系統會開啟 Salesforce 外掛程式的設定視窗。
如要載入新結構定義,請按照下列步驟操作:
在「輸出結構定義」分頁中,依序點選 >「清除」,然後點選「驗證」。這會從 Salesforce 載入最新結構定義。
結構定義載入後,請在「輸出結構定義」分頁中,依序點選
「傳播」。這會自動更新管道中所有後續外掛程式的結構定義,可能會覆寫 Wrangler 等外掛程式中的手動結構定義變更。
如要手動移除已淘汰的欄位,請按照下列步驟操作:
- 在「輸出結構定義」分頁中,針對每個已淘汰的欄位,按一下 。這會從後續所有階段移除欄位。
最佳做法
如要進一步瞭解如何提升 Salesforce 批次來源的效能,請參閱最佳做法。
版本資訊
後續步驟
- 逐步完成 Salesforce 外掛程式教學課程。