查看 Application Integration 支援的連接器。
叫用 Salesforce 變更資料擷取 (CDC) 事件的整合程序
瞭解如何使用 Salesforce 觸發條件,在應用程式整合中建立範例整合。下列步驟說明如何設定執行完整整合作業所需的觸發條件、工作、連接器和資料對應項目。
在本快速入門課程中,您將使用 Salesforce 觸發條件,在應用程式整合中叫用 Salesforce 變更資料擷取 (CDC) 事件的整合程序,如下圖所示:
Salesforce 觸發事件已訂閱 Salesforce 商機管道。Salesforce 商機的資料變更會叫用應用程式整合,以便擷取 Salesforce 商機的狀態。如果狀態為已關閉,整合作業會擷取商機詳細資料,並使用連接器將資料寫入 Cloud SQL 執行個體。如果資料有變更,但狀態仍為開放,整合作業會使用連接器將訊息傳送至 Pub/Sub 主題。
以下步驟說明如何設定觸發條件、工作、驗證設定檔、邊緣、變數,以及執行整合作業所需的資料對應。
事前準備
- 確認您的 Salesforce 開發人員帳戶已啟用變更資料擷取 (CDC) 功能。本教學課程假設您已擁有 Salesforce 開發人員帳戶,並具備必要的使用者設定和權限組合。如要瞭解 Salesforce 使用者設定和權限集,請參閱「設定 Salesforce 觸發條件」。
- 將下列 IAM 角色指派給 Google Cloud 專案中的應用程式整合服務代理人(
service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
)。- Pub/Sub 編輯者
- Connector 管理員
- Application Integration 叫用者
- 建立 Cloud SQL 資料表,以便儲存 Salesforce CDC 資料。
- 在 Google Cloud 控制台中前往「Cloud SQL 執行個體」頁面,然後連線至 MySQL 執行個體。請參閱「透過 Cloud Shell 連線至 MySQL 適用的 Cloud SQL」一文。
- 在 Cloud SQL 執行個體上建立下列 MySQL 資料庫:
CREATE DATABASE SALESFORCE_TRIGGER_DEMO; USE SALESFORCE_TRIGGER_DEMO; CREATE TABLE OPPORTUNITIES ( ID INT NOT NULL AUTO_INCREMENT, NAME VARCHAR(150) NOT NULL, AMOUNT DOUBLE NOT NULL, DT_CLOSE VARCHAR(150) NOT NULL, PRIMARY KEY (ID) ); COMMIT;
- 執行下列指令,確認資料表已建立。
SELECT * FROM OPPORTUNITIES;
- 在連接器中建立 MySQL 適用的 Cloud SQL 連線。如需詳細資訊,請參閱「建立 MySQL 適用的 Cloud SQL 連線 」。
- 在連接器中建立 Cloud Pub/Sub 連線。詳情請參閱「建立 Cloud Pub/Sub 連線 」。
建立新的整合功能
如要建立新的整合,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
- 按一下「建立整合」。
- 在「Create Integration」對話方塊中輸入名稱和說明。例如:
Demo-CDC-Opportunities
。 - 選取整合作業的區域。
- 按一下「建立」,開啟整合設計工具。
新增及設定 Salesforce 觸發條件
如要新增並設定整合的 Salesforce 觸發條件,請執行下列步驟:
- 在整合設計工具中,依序選取「新增任務/觸發條件」>「觸發條件」,即可查看可用觸發條件清單。
- 在整合設計工具中,按一下並放置 Salesforce 觸發條件元素。
- 按一下畫布上的「Salesforce trigger」元素,開啟觸發條件的設定窗格。
- 在「觸發條件輸入」下方設定下列欄位:
- 事件類型:從下拉式清單中選取「Change Data Capture (CDC)」。
- Salesforce 例項設定:在下拉式清單中點選「+ 新增 Salesforce 例項設定」選項。
系統隨即會顯示「新增 Salesforce 執行個體設定」對話方塊。
- Salesforce 執行個體連線名稱:輸入 Salesforce 執行個體的連線名稱。例如:
CDC-PlatformUser
。 - Salesforce 網域:輸入 Salesforce 網域名稱。您可以前往「Salesforce 帳戶」>「查看個人資料」頁面查看這項資訊。
- 驗證設定檔:選取驗證設定檔。如果沒有驗證設定檔,請建立新的設定檔。詳情請參閱「建立新的驗證設定檔」。
- 按一下「新增」。
- Salesforce 執行個體連線名稱:輸入 Salesforce 執行個體的連線名稱。例如:
- Salesforce 管道設定:按一下下拉式清單中的「+ 新增 Salesforce 管道設定」選項。
系統會隨即顯示「Add Salesforce channel」對話方塊。
- Salesforce 物件名稱:輸入
Opportunity
。 - 按一下 [新增]。
- Salesforce 物件名稱:輸入
- 作業:從下拉式清單中選取「更新」
系統會自動儲存屬性變更。
新增及設定工作
本教學課程會使用「連接器」和「資料對應」工作。以下說明每項任務的設定詳細資料。
使用 MySQL 適用的 Cloud SQL 連線設定連接器工作
請按照下列步驟設定連接器工作,使用 MySQL 適用的 Cloud SQL 連線,將記錄插入現有的 Cloud SQL 資料表:
- 在整合設計工具中,依序選取「+新增任務/觸發條件」>「任務」,即可顯示可用任務清單。
- 在整合設計工具中,按一下並放置「Connectors」元素。
- 按一下設計工具中的「Connectors」任務元素,即可查看「Connectors」任務設定窗格。
- 按一下
Insert row to Cloud SQL
。
,然後將「連接器」名稱變更為 - 按一下「設定工作」。
系統會顯示「Configure connector task」對話方塊。
- 在「Configure connector task」對話方塊中執行下列操作:
- 選取連線區域。
- 選擇地區後,畫面上會顯示「Connection」欄。從可用連線清單中選取 MySQL 適用的 Cloud SQL 連線。
- 選取連線後,畫面上會顯示「Type」欄。在可用實體清單中,依序選取「實體」和「OPPORTUNITIES」。
- 選擇類型後,畫面上會顯示「Operation」欄。選取「建立」。
- 按一下「完成」,完成連線設定並關閉窗格。
設定使用 Cloud Pub/Sub 連線的連接器工作
請按照下列步驟設定連接器工作,以便透過 Cloud Pub/Sub 連線發布 Pub/Sub 訊息:
- 在整合設計工具中,依序選取「+新增任務/觸發條件」>「任務」,即可顯示可用任務清單。
- 在整合設計工具中,按一下並放置「Connectors」元素。
- 按一下設計工具中的「Connectors」任務元素,即可查看「Connectors」任務設定窗格。
- 按一下
Publish to cloud pub/sub
。
,然後將「連接器」名稱變更為 - 按一下「設定工作」。
系統會顯示「Configure connector task」對話方塊。
- 在「Configure connector task」對話方塊中執行下列操作:
- 選取連線區域。
- 選擇地區後,畫面上會顯示「Connection」欄。從可用連線清單中選取 Pub/Sub 連線。
- 選取連線後,畫面上會顯示「Type」欄。選取「動作」,然後從可用動作清單中選取「publishMessage」。
- 按一下「完成」,完成連線設定並關閉窗格。
設定資料對應工作
如要設定資料對應工作,請按照下列步驟操作:
- 依序選取「新增任務/觸發條件」>「任務」,即可查看可用任務清單。
- 在整合設計工具中,按一下並放置「Data Mapping」(資料對應) 元素。
- 按一下設計工具中的「Data Mapping」(資料對應) 元素,開啟任務的設定窗格。
- 按一下「Open Data Mapping Editor」。
資料對應編輯器可讓您使用可用的轉換函式,將輸入變數對應至所需的輸出變數。接著,輸出內容可做為任何其他整合作業或觸發事件的變數。如要進一步瞭解如何將資料做為變數傳遞,請參閱「 在應用程式整合中使用變數」。
- 按一下「+ 新增變數」,然後建立下列輸出變數:
輸出變數名稱 資料類型 OpportunityIsClosed
Boolean
OpportunityId
String
PubSubMessage
String
- 請在 SalesforceTriggerCdcPayload 變數和 Connector input payload 變數之間建立下列對應關係,如下表所示:
輸入 輸出 SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN()
OpportunityIsClosed
SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING()
OpportunityId
OpportunityId.TO_DOUBLE()
connectorInputPayload.ID(Insert row to Cloud SQL)
SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING()
connectorInputPayload.NAME(Insert row to Cloud SQL)
SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE()
connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING()
connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
OpportunityId.CONCAT(" is still open")
PubSubMessage
PubSubMessage
connectorInputPayload.message(Publish to cloud pub/sub)
對應完成後,請關閉窗格。系統會自動儲存所有變更。
新增邊緣連線
邊緣是指整合中任兩個元素之間的連線,而邊緣條件可讓您指定整合必須符合的條件,才能將控制權傳遞至透過邊緣連結的任務。如要進一步瞭解邊界和邊界條件,請參閱「邊界」。
- 從 Salesforce 觸發事件元素新增邊緣連線至 資料對應元素。
- 使用下列邊緣條件,從「資料對應」元素新增邊緣連結至「插入資料行至 Cloud SQL 連接器」元素:
$OpportunityIsClosed$ = TRUE
- 使用下列邊緣條件,從「資料對應」元素新增另一個邊緣連線至「Cloud Pub/Sub 連接器」元素:
$OpportunityIsClosed$ = FALSE


測試整合
如要測試新的整合功能,請按照下列步驟操作:
- 按一下整合設計工具工具列中的「Test」,然後選取「Salesforce Trigger」。
系統會隨即顯示「Test Integration」對話方塊。
- 按一下「測試整合」。
如要測試 Cloud SQL 工作,請登入 Salesforce 執行個體,並將商機狀態變更為「closed」。
登入 Salesforce 執行個體並變更商機的其他詳細資料,但將商機狀態設為「open」,即可測試 Pub/Sub 工作。
如要進一步瞭解測試,請參閱「測試及發布整合」。
如要驗證整合是否成功,請按照下列步驟操作:
- 前往「Cloud SQL」頁面。 請查看資料庫和 Cloud SQL 記錄,確認新資料列已插入。
- 前往「Pub/Sub」頁面。 選取 Pub/Sub 主題,然後按一下「View messages」,確認已收到整合功能傳送的訊息。
- 檢查應用程式整合記錄,查看特定整合作業的狀態。如要查看記錄,請按照下列步驟操作:
- 在整合設計工具的工具列中,按一下「Logs」。
- 您可以在「執行記錄」頁面中,查看每次嘗試執行整合功能的詳細資料。
每個項目都包含執行作業的詳細資料,包括:
- 整合作業名稱
- 執行 ID
- 狀態
- 開始時間
- 時間長度
- 整合版本
- 觸發條件 ID
- 按一下已執行整合項目旁的展開箭頭 (>),即可查看整合項目中的工作和變數展開清單,以及工作狀態和變數酬載。