查看 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 叫用者
    如要進一步瞭解如何指派 IAM 角色,請參閱「IAM 角色和權限」。
  • 建立 Cloud SQL 資料表,以便儲存 Salesforce CDC 資料。
    1. 在 Google Cloud 控制台中前往「Cloud SQL 執行個體」頁面,然後連線至 MySQL 執行個體。請參閱「透過 Cloud Shell 連線至 MySQL 適用的 Cloud SQL」一文。

      前往 Cloud SQL 執行個體

    2. 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;
      
    3. 執行下列指令,確認資料表已建立。
      SELECT * FROM OPPORTUNITIES;
  • 在連接器中建立 MySQL 適用的 Cloud SQL 連線。如需詳細資訊,請參閱「建立 MySQL 適用的 Cloud SQL 連線 」。
  • 在連接器中建立 Cloud Pub/Sub 連線。詳情請參閱「建立 Cloud Pub/Sub 連線 」。

建立新的整合功能

如要建立新的整合,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往「應用程式整合」

  2. 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
  3. 按一下「建立整合」
  4. 在「Create Integration」對話方塊中輸入名稱和說明。例如:Demo-CDC-Opportunities
  5. 選取整合作業的區域。
  6. 按一下「建立」,開啟整合設計工具。

新增及設定 Salesforce 觸發條件

如要新增並設定整合的 Salesforce 觸發條件,請執行下列步驟:

  1. 在整合設計工具中,依序選取「新增任務/觸發條件」>「觸發條件」,即可查看可用觸發條件清單。
  2. 在整合設計工具中,按一下並放置 Salesforce 觸發條件元素。
  3. 按一下畫布上的「Salesforce trigger」元素,開啟觸發條件的設定窗格。
  4. 在「觸發條件輸入」下方設定下列欄位:
    • 事件類型:從下拉式清單中選取「Change Data Capture (CDC)」
    • Salesforce 例項設定:在下拉式清單中點選「+ 新增 Salesforce 例項設定」選項。

      系統隨即會顯示「新增 Salesforce 執行個體設定」對話方塊。

      • Salesforce 執行個體連線名稱:輸入 Salesforce 執行個體的連線名稱。例如:CDC-PlatformUser
      • Salesforce 網域:輸入 Salesforce 網域名稱。您可以前往「Salesforce 帳戶」>「查看個人資料」頁面查看這項資訊。
      • 驗證設定檔:選取驗證設定檔。如果沒有驗證設定檔,請建立新的設定檔。詳情請參閱「建立新的驗證設定檔」。
      • 按一下「新增」。
    • Salesforce 管道設定:按一下下拉式清單中的「+ 新增 Salesforce 管道設定」選項。

      系統會隨即顯示「Add Salesforce channel」對話方塊。

      • Salesforce 物件名稱:輸入 Opportunity
      • 按一下 [新增]。
    • 作業:從下拉式清單中選取「更新」

    系統會自動儲存屬性變更。

新增及設定工作

本教學課程會使用「連接器」和「資料對應」工作。以下說明每項任務的設定詳細資料。

使用 MySQL 適用的 Cloud SQL 連線設定連接器工作

請按照下列步驟設定連接器工作,使用 MySQL 適用的 Cloud SQL 連線,將記錄插入現有的 Cloud SQL 資料表:

  1. 在整合設計工具中,依序選取「+新增任務/觸發條件」>「任務」,即可顯示可用任務清單。
  2. 在整合設計工具中,按一下並放置「Connectors」元素。
  3. 按一下設計工具中的「Connectors」任務元素,即可查看「Connectors」任務設定窗格
  4. 按一下 ,然後將「連接器」名稱變更為 Insert row to Cloud SQL
  5. 按一下「設定工作」

    系統會顯示「Configure connector task」對話方塊。

  6. 在「Configure connector task」對話方塊中執行下列操作:
    1. 選取連線區域。
    2. 選擇地區後,畫面上會顯示「Connection」欄。從可用連線清單中選取 MySQL 適用的 Cloud SQL 連線。
    3. 選取連線後,畫面上會顯示「Type」欄。在可用實體清單中,依序選取「實體」和「OPPORTUNITIES」
    4. 選擇類型後,畫面上會顯示「Operation」欄。選取「建立」
    5. 按一下「完成」,完成連線設定並關閉窗格。

設定使用 Cloud Pub/Sub 連線的連接器工作

請按照下列步驟設定連接器工作,以便透過 Cloud Pub/Sub 連線發布 Pub/Sub 訊息:

  1. 在整合設計工具中,依序選取「+新增任務/觸發條件」>「任務」,即可顯示可用任務清單。
  2. 在整合設計工具中,按一下並放置「Connectors」元素。
  3. 按一下設計工具中的「Connectors」任務元素,即可查看「Connectors」任務設定窗格
  4. 按一下 ,然後將「連接器」名稱變更為 Publish to cloud pub/sub
  5. 按一下「設定工作」

    系統會顯示「Configure connector task」對話方塊。

  6. 在「Configure connector task」對話方塊中執行下列操作:
    1. 選取連線區域。
    2. 選擇地區後,畫面上會顯示「Connection」欄。從可用連線清單中選取 Pub/Sub 連線。
    3. 選取連線後,畫面上會顯示「Type」欄。選取「動作」,然後從可用動作清單中選取「publishMessage」
    4. 按一下「完成」,完成連線設定並關閉窗格。

設定資料對應工作

如要設定資料對應工作,請按照下列步驟操作:

  1. 依序選取「新增任務/觸發條件」>「任務」,即可查看可用任務清單。
  2. 在整合設計工具中,按一下並放置「Data Mapping」(資料對應) 元素。
  3. 按一下設計工具中的「Data Mapping」(資料對應) 元素,開啟任務的設定窗格。
  4. 按一下「Open Data Mapping Editor」

    資料對應編輯器可讓您使用可用的轉換函式,將輸入變數對應至所需的輸出變數。接著,輸出內容可做為任何其他整合作業或觸發事件的變數。如要進一步瞭解如何將資料做為變數傳遞,請參閱「 在應用程式整合中使用變數」。

  5. 按一下「+ 新增變數」,然後建立下列輸出變數:
    輸出變數名稱 資料類型
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. 請在 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)
  7. 對應完成後,請關閉窗格。系統會自動儲存所有變更。

新增邊緣連線

邊緣是指整合中任兩個元素之間的連線,而邊緣條件可讓您指定整合必須符合的條件,才能將控制權傳遞至透過邊緣連結的任務。如要進一步瞭解邊界和邊界條件,請參閱「邊界」。

  1. Salesforce 觸發事件元素新增邊緣連線至 資料對應元素。
  2. 使用下列邊緣條件,從「資料對應」元素新增邊緣連結至「插入資料行至 Cloud SQL 連接器」元素:
      $OpportunityIsClosed$ = TRUE
  3. 使用下列邊緣條件,從「資料對應」元素新增另一個邊緣連線至「Cloud Pub/Sub 連接器」元素:
      $OpportunityIsClosed$ = FALSE
顯示邊緣連線的範例圖片 顯示邊緣連線的範例圖片

測試整合

如要測試新的整合功能,請按照下列步驟操作:

  1. 按一下整合設計工具工具列中的「Test」,然後選取「Salesforce Trigger」

    系統會隨即顯示「Test Integration」對話方塊。

  2. 按一下「測試整合」

如要測試 Cloud SQL 工作,請登入 Salesforce 執行個體,並將商機狀態變更為「closed」。

登入 Salesforce 執行個體並變更商機的其他詳細資料,但將商機狀態設為「open」,即可測試 Pub/Sub 工作。

如要進一步瞭解測試,請參閱「測試及發布整合」。

如要驗證整合是否成功,請按照下列步驟操作:

  • 前往「Cloud SQL」頁面。

    前往 Cloud SQL

    請查看資料庫和 Cloud SQL 記錄,確認新資料列已插入。
  • 前往「Pub/Sub」頁面。

    前往「Pub/Sub」頁面

    選取 Pub/Sub 主題,然後按一下「View messages」,確認已收到整合功能傳送的訊息。
  • 檢查應用程式整合記錄,查看特定整合作業的狀態。如要查看記錄,請按照下列步驟操作:
    1. 在整合設計工具的工具列中,按一下「Logs」
    2. 您可以在「執行記錄」頁面中,查看每次嘗試執行整合功能的詳細資料。 每個項目都包含執行作業的詳細資料,包括:
      • 整合作業名稱
      • 執行 ID
      • 狀態
      • 開始時間
      • 時間長度
      • 整合版本
      • 觸發條件 ID
    3. 按一下已執行整合項目旁的展開箭頭 (>),即可查看整合項目中的工作和變數展開清單,以及工作狀態和變數酬載。