設定複製活動中的 Salesforce
本文概述如何使用資料管線中的複製活動,從 Salesforce 複製資料及將資料複製到該處。
支援的設定
對於複製活動下每個索引標籤的組態,請分別參閱下列各節。
一般
請參閱<[一般] 設定>指導,來設定 [一般] 設定索引標籤。
來源
在複製活動的 [來源] 索引標籤下,Salesforce 支援下列屬性。
以下是必要的屬性:
- 連線:從連線清單中選取 [Salesforce] 連線。 如果不存在連線,請選取 [新增],以建立新的 Salesforce 連線。
- 使用查詢:從 [物件 API]、[報表] 或 [SOQL 查詢] 中選取。
如果您選取 [物件 API]:
- 物件 API:指定要從其中擷取資料的 Salesforce 物件名稱。 從下拉式清單中選取名稱。
如果您選取 [報表]:
報表 ID:指定要從中擷取資料的 Salesforce 報表識別碼。 目的地中不支援此選項。 使用報表時有限制。
如果您選取 [SOQL 查詢]:
SOQL 查詢:使用自訂查詢來讀取資料。 您只能使用具有限制的 Salesforce Object Query Language (SOQL) 查詢,了解 Bulk API 2.0 查詢。 如果未指定 SOQL 查詢,將擷取物件 API 和報表 ID 中所指定之 Salesforce 物件的所有資料。
在 [進階] 下,可以指定下列欄位:
- 包含已刪除的物件:指定是否要查詢現有的記錄 (未選取),或查詢所有記錄,包括已刪除的記錄 (已選取)。
- 其他資料行:新增其他資料行來儲存來源檔案的相對路徑或靜態值。 後者支援運算式。
Destination
在複製活動的 [目的地] 索引標籤下,Salesforce 支援下列屬性。
以下是必要的屬性:
- 連線:從連線清單中選取 [Salesforce] 連線。 如果不存在連線,請選取 [新增],以建立新的 Salesforce 連線。
- 物件 API:指定要寫入到資料的 Salesforce 物件名稱。 從下拉式清單中選取名稱。
在 [進階] 下,可以指定下列欄位:
寫入行為:指定作業的寫入行為。 允許的值為 Insert 和 Upsert。 可以從下拉式清單中選擇行為。
如果您選取 [Upsert]:
外部 ID 欄位:upsert 作業的外部識別碼欄位名稱。 指定的欄位在 Salesforce 物件中必須定義為外部 ID 欄位。 對應的輸入資料中不能有 NULL 值。
略過 null 值:指定在寫入作業期間是否要略過輸入資料中的 null 值。
- 當此選項為已選取狀態時,執行 upsert 或更新作業時,讓目的地物件中的資料保持不變。 執行插入作業時,插入已定義的預設值。
- 當此選項為選取狀態時,執行 upsert 或更新作業時,將目的地物件中的資料更新為 NULL。 執行插入作業時,插入 NULL 值。
寫入批次大小:指定每個批次中寫入 Salesforce 的資料列計數。 建議將此值從 10,000 設定為 200,000。 每個批次中的資料列太少,可降低複製效能。 每個批次中的資料列數太多,可能會導致 API 逾時。
並行連線數上限:在活動執行期間,與資料存放區建立的並行連線數上限。 僅在想要限制並行連線時,才需要指定值。
對應
對於 [對應] 索引標籤組態,請參閱<在 [對應] 索引標籤下設定對應>。
設定
對於 [設定] 索引標籤組態,請參閱<在 [設定] 索引標籤下進行其他設定>。
資料表摘要
下列各表包含有關 Salesforce 中複製活動的詳細資訊。
來源資訊
名稱 | 描述 | 值 | 必要 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 您與來源資料存放區的連線。 | <您的 Salesforce 連線> | Yes | connection |
連線類型 | 您的連線類型。 選取 [Salesforce 物件]。 | SalesforceObject | Yes | / |
使用查詢 | 從 Salesforce 讀取資料的方式。 | • 物件 API • 報表 • SOQL 查詢 |
Yes | / |
針對物件 API | ||||
物件 API | 要從其中擷取資料的 Salesforce 物件名稱。 | <您的物件名稱> | Yes | objectApiName |
針對報表 | ||||
Report ID \(報表識別碼\) | 要從中擷取資料的 Salesforce 報表識別碼。 目的地中不支援此選項。 使用報表時有限制。 | <您的報表 ID> | Yes | reportId |
針對 SOQL 查詢 | ||||
SOQL 查詢 | 使用自訂查詢來讀取資料。 您只能使用具有限制的 Salesforce Object Query Language (SOQL) 查詢,了解 Bulk API 2.0 查詢。 如果未指定 SOQL 查詢,將擷取物件 API 和報表 ID 中所指定之 Salesforce 物件的所有資料。 | <您的 SOQL 查詢> | Yes | query |
包括已刪除的物件 | 指出是要查詢現有記錄,還是要查詢包含已刪除記錄在內的所有記錄。 | 已選取或未選取 (預設值) | No | includeDeletedObjects: true 或 false (預設值) |
其他資料行 | 新增其他資料行來儲存來源檔案的相對路徑或靜態值。 後者支援運算式。 | • 名稱 • 值 |
No | additionalColumns: • 名稱 • 值 |
目的地資訊
名稱 | 描述 | 值 | 必要 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 與目的地資料存放區的連線。 | <您的 Salesforce 連線> | Yes | connection |
物件 API | 指定要寫入到資料的 Salesforce 物件名稱。 | <您的物件名稱> | Yes | objectApiName |
寫入行為 | 作業的寫入行為。 允許的值為 Insert 和 Upsert。 可以從下拉式清單中選擇行為。 | • 插入 • Upsert |
否 (預設為 Insert) | writeBehavior: insert upsert |
外部 ID 欄位 | upsert 作業的外部識別碼欄位名稱。 指定的欄位在 Salesforce 物件中必須定義為外部 ID 欄位。 對應的輸入資料中不能有 NULL 值。 | <您的外部 ID 欄位> | 是 (用於 upsert) | externalIdFieldName |
略過 null 值 | 指出在寫入作業期間是否要忽略輸入資料中的 NULL 值。 | 已選取或未選取 (預設值) | No | ignoreNullValues: true 或 false (預設值) |
寫入批次大小 | 每個批次中寫入 Salesforce 的資料列計數。 建議將此值從 10,000 設定為 200,000。 每個批次中的資料列太少,可降低複製效能。 每個批次中的資料列數太多,可能會導致 API 逾時。 | <資料列數目> (整數) |
否 (預設為 100,000) | writeBatchSize |
並行連線數上限 | 在活動執行期間建立至資料存放區的同時連線上限。 僅在想要限制並行連線時,才需要指定值。 | <並行連線數上限> | No | maxConcurrentConnections |
Salesforce Bulk API 2.0 限制
我們使用 Salesforce Bulk API 2.0 來查詢和內嵌資料。 會自動在 Bulk API 2.0 中為您建立批次。 每個輪替 24 小時期間最多可以提交 15,000 個批次。 如果批次超過限制,您就會發生失敗。
在 Bulk API 2.0 中,只有內嵌作業會取用批次。 查詢作業不會取用批次。 如需詳細資料,請參閱 Bulk API 2.0 開發人員指南中的要求處理方式。
如需詳細資料,請參閱<Salesforce 開發人員限制>中的 [一般限制] 一節。