監聽 Cloud Pub/Sub 主題並傳送電子郵件

瞭解如何使用 Application Integration 和 Cloud Pub/Sub 觸發條件建立整合範例。 下列步驟說明如何設定觸發條件、工作、變數和資料對應,以執行完整的整合作業。

總覽

在本快速入門導覽課程中,您將建立整合作業,並使用 Cloud Pub/Sub 觸發條件監聽現有的 Pub/Sub 主題,接收來自 IoT 裝置的溫度讀數 (以絕對溫度表示)。接著,您可以使用「資料對應」工作將 Pub/Sub 訊息轉換為攝氏度,並透過電子郵件傳送該值。

事前準備

在 Google Cloud 專案中,將下列 Identity and Access Management (IAM) 角色指派給應用程式整合服務代理人 (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com):

  • Pub/Sub 編輯者
  • Application Integration Invoker

    如要進一步瞭解如何指派 IAM 角色,請參閱「IAM 角色和權限」。

設定環境

建立新的 Cloud Pub/Sub 主題

本快速入門導覽課程假設您有一個 Pub/Sub 主題,可接收 IoT 裝置以絕對溫標傳送的溫度讀數。您不必實際將主題連線至裝置,本快速入門課程會測試整合功能是否能監聽主題,並在觸發時執行工作。

如要建立本快速入門導覽課程的範例主題:

  1. 前往 Cloud 控制台的 Pub/Sub 主題頁面。

    前往 Pub/Sub 主題頁面

  2. 按一下 [Create a topic] (建立主題)
  3. 在「主題 ID」欄位中,輸入專屬主題名稱。例如:temperaturesensor
  4. 按一下「儲存」

建立新的整合功能

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

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

    前往 Application Integration

  2. 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
  3. 按一下「建立整合」
  4. 在「建立整合」對話方塊中輸入名稱和說明,例如:my-test-integration
  5. 選取整合作業的區域。
  6. 按一下「建立」,開啟整合編輯器。

新增 Cloud Pub/Sub 觸發條件

如要將 Cloud Pub/Sub 觸發條件新增至整合作業,請按照下列步驟操作:
  1. 在整合編輯器中選取「觸發條件」,即可顯示可用觸發條件清單。
  2. 按一下「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 元素,然後放置到設計工具中。

設定 Cloud Pub/Sub 觸發條件

在整合編輯器中,按一下「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 元素,即可查看觸發條件設定窗格。

在「Pub/Sub topic」(Pub/Sub 主題) 欄位中,指定觸發條件應監聽的主題,格式如下:

projects/PROJECT_ID/topics/TOPIC_ID
其中:
  • PROJECT_ID 是建立主題的 Google Cloud 專案。
  • TOPIC_ID 是您在「事前準備」中建立的 Cloud Pub/Sub 主題 ID。

舉例來說,如果您的專案名稱為 my-project,且您將主題命名為 temperaturesensor,請輸入:

projects/my-project/topics/temperaturesensor

如要查看 Google Cloud 專案中的所有可用主題,請參閱「主題」中的「主題名稱」欄位。

「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 設定窗格會自動在「Trigger Output」(觸發條件輸出) 欄位中填入變數,以保留 Pub/Sub 訊息。

新增及設定「資料對應」工作

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

  1. 選取「工作」,系統隨即會顯示可用工作的清單。
  2. 在整合服務編輯器中,點按並放置「資料對應」元素。
  3. 按一下設計工具中的「資料對應」工作,開啟該工作的設定窗格。
  4. 按一下「開啟資料對應編輯器」

    您可以使用資料對應編輯器,透過可用的轉換函式,將輸入變數對應至所需輸出變數。然後,輸出內容會以變數的形式提供給任何其他整合任務或觸發條件。如要進一步瞭解如何以變數形式傳遞資料,請參閱「 在 Application Integration 中使用變數」。

    在本快速入門導覽課程中,請按照下列步驟使用 CloudPubSubMessage 做為輸入內容建立對應:

    1. 展開「變數」清單中的 CloudPubSubMessage JSON 變數,然後將 CloudPubSubMessage.data 變數拖曳至第一個「輸入」列。
    2. 按一下 CloudPubSubMessage.data 變數旁的「+ 新增函式」,即可查看可用函式的下拉式清單。
    3. 選取 TO_DOUBLE(),將 CloudPubSubMessage.data 值轉換為 double 資料類型。
    4. 再次按一下「+ (新增函式)」,選取並串連 SUBTRACT 函式。
    5. 輸入 273.15 做為 SUBTRACT 函式值。這是為了將絕對溫度轉換為攝氏溫度。
    6. 按一下「輸出」欄的第一列,建立新的輸出變數來保存轉換後的資料值。填寫下列欄位:
      • 名稱:輸入 TempInCelsius
      • 勾選「Use as an output of integration」(以整合輸出內容的形式使用)
      • 按一下「建立」建立變數並關閉窗格。新的 TempInCelsius 變數會顯示在「變數」清單中。
    7. 將「變數」清單中的「TempInCelsius」變數,拖曳至「輸入」欄的第二列。
    8. 在「TempInCelsius」變數中點按「+」(新增函式),即可查看可用函式的下拉式清單。
    9. 按一下 TO_STRING(),將變數的資料類型從 double 轉換為 string
    10. 按一下「輸出」資料欄中的第二列,建立新的變數來保存轉換後的資料值。填寫下列欄位:
      • 名稱:輸入 TempInCelsiusString
      • 預設值留空代表:選取「空字串」
      • 勾選「Use as an output of integration」(以整合輸出內容的形式使用) 核取方塊。
      • 按一下「建立」建立變數並關閉窗格。新變數會顯示在資料對應編輯器左側的「變數」清單中。
    11. 完成對應後,請關閉資料對應編輯器。系統會自動儲存所有變更。

新增並設定「Send Email」(傳送電子郵件) 任務

如要設定「Send Email」(傳送電子郵件) 任務,請按照下列步驟操作:

  1. 在整合編輯器中選取「Tasks」(工作),即可顯示可用工作清單。
  2. 在整合服務編輯器中,按一下並放置「傳送電子郵件」元素。
  3. 按一下設計工具中的「Send Email」(傳送電子郵件) 元素,開啟任務的設定窗格。設定下列屬性:
    • 「To Recipient(s)」(收件者):輸入您的電子郵件地址。您會收到這封電子郵件,確認整合作業已順利完成。
    • 「Subject」(主旨):輸入 Temperature in Celsius
    • 純文字格式的內文:在「資料對應」工作流程中,選取先前建立的 TempInCelsiusString 變數。
    • 其餘選項則可保留預設設定。
    系統會自動儲存您對資源所做的變更。

新增必要的邊緣連線

邊緣是指整合中任意兩個元素之間的連線。連線表示控制流程從一個元素(工作或觸發條件) 到另一個元素的方向。如要進一步瞭解邊緣,請參閱「邊緣」。

  1. 將滑鼠懸停在「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 元素上的控制點,接著點選線條並拖曳到「Data Mapping」(資料對應) 工作元素上的控制點,即可從「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 元素至「Data Mapping」(資料對應) 元素新增邊緣連線。這個邊緣表示從「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 任務到「Data Mapping」(資料對應) 任務的控制流程。
  2. 將滑鼠懸停在「資料對應」元素上的控制點,接著點選線條並拖曳到「傳送電子郵件」任務元素上的控制點,即可從「資料對應」元素至「傳送電子郵件」元素新增邊緣連線。這個邊緣表示從「資料對應」工作到「傳送電子郵件」工作的控制流程。

完成的連線應如下圖所示:

圖片:顯示快速入門流程 圖片:顯示快速入門流程

發布整合項目

如要發布整合項目,請按一下整合編輯器工具列中的「發布」

成功發布整合項目後,您可以查看並檢查已發布整合項目的執行記錄。如要查看記錄,請按一下「查看這項整合的執行記錄」圖片:顯示執行記錄的圖示。系統隨即會顯示「執行記錄」頁面。

使用 Cloud Pub/Sub 測試整合

如要從 Pub/Sub 主題頁面測試新的整合,請按照下列步驟操作:

  1. 前往 Cloud 控制台的 Pub/Sub 主題頁面。

    前往 Pub/Sub 主題頁面

  2. 搜尋並選取您建立的 temperaturesensor 主題。
  3. 在主題詳細資料頁面中,按一下「+ 發布訊息」,開啟「發布訊息」設定窗格。
  4. 在「Message body」(訊息內文) 欄位中,輸入 307.15

    建立這則訊息會模擬 Pub/Sub 從 IoT 裝置收到的開氏溫度讀數發布作業。

  5. 按一下「發布」,將訊息發布至主題並觸發整合作業。

成功完成後,整合作業會傳送電子郵件至「Send Email」(傳送電子郵件) 任務中指定的電子郵件地址,並附上轉換為攝氏溫度的開爾文溫度。請在電子郵件用戶端中確認已收到這封電子郵件。

整合服務傳送的電子郵件應包含內文,且內文含有 34 值。

除了驗證電子郵件內容,您也可以檢查記錄,查看特定整合的狀態和酬載。如要查看記錄:

  1. 在整合服務編輯器中,按一下「查看這項整合的執行記錄」圖片:顯示執行記錄的圖示。系統隨即會顯示「執行記錄」頁面。 如要進一步瞭解執行記錄,請參閱「查看整合執行記錄」。
  2. 在「執行記錄」頁面中,您可以查看每次嘗試執行整合的詳細資料。 每個項目都包含執行嘗試的詳細資料,包括:
    • 整合作業名稱
    • 執行作業 ID
    • 狀態
    • 開始時間
    • 時間長度
    • 整合版本
    • 觸發條件 ID
  3. 按一下已執行的整合旁邊的展開箭頭 (>),即可查看整合中的工作和變數展開清單,以及工作狀態和變數有效負載。

配額與限制

如要瞭解配額和限制,請參閱「配額與限制」。