監聽 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 裝置以絕對溫標傳送的溫度讀數。您不必實際將主題連線至裝置,本快速入門課程會測試整合功能是否能監聽主題,並在觸發時執行工作。
如要建立本快速入門導覽課程的範例主題:
- 前往 Cloud 控制台的 Pub/Sub 主題頁面。
- 按一下 [Create a topic] (建立主題)。
- 在「主題 ID」欄位中,輸入專屬主題名稱。例如:
temperaturesensor - 按一下「儲存」。
建立新的整合功能
如要建立新的整合,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
- 按一下「建立整合」。
- 在「建立整合」對話方塊中輸入名稱和說明,例如:
my-test-integration。 - 選取整合作業的區域。
- 按一下「建立」,開啟整合編輯器。
新增 Cloud Pub/Sub 觸發條件
如要將 Cloud Pub/Sub 觸發條件新增至整合作業,請按照下列步驟操作:- 在整合編輯器中選取「觸發條件」,即可顯示可用觸發條件清單。
- 按一下「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
舉例來說,如果您的專案名稱為 my-project,且您將主題命名為 temperaturesensor,請輸入:
projects/my-project/topics/temperaturesensor。
如要查看 Google Cloud 專案中的所有可用主題,請參閱「主題」中的「主題名稱」欄位。
「Cloud Pub/Sub trigger」(Cloud Pub/Sub 觸發條件) 設定窗格會自動在「Trigger Output」(觸發條件輸出) 欄位中填入變數,以保留 Pub/Sub 訊息。
新增及設定「資料對應」工作
如要設定「資料對應」工作,請按照下列步驟操作:
- 選取「工作」,系統隨即會顯示可用工作的清單。
- 在整合服務編輯器中,點按並放置「資料對應」元素。
- 按一下設計工具中的「資料對應」工作,開啟該工作的設定窗格。
- 按一下「開啟資料對應編輯器」。
您可以使用資料對應編輯器,透過可用的轉換函式,將輸入變數對應至所需輸出變數。然後,輸出內容會以變數的形式提供給任何其他整合任務或觸發條件。如要進一步瞭解如何以變數形式傳遞資料,請參閱「 在 Application Integration 中使用變數」。
在本快速入門導覽課程中,請按照下列步驟使用
CloudPubSubMessage做為輸入內容建立對應:- 展開「變數」清單中的
CloudPubSubMessageJSON 變數,然後將CloudPubSubMessage.data變數拖曳至第一個「輸入」列。 - 按一下
CloudPubSubMessage.data變數旁的「+ 新增函式」,即可查看可用函式的下拉式清單。 - 選取
TO_DOUBLE(),將CloudPubSubMessage.data值轉換為double資料類型。 - 再次按一下「+ (新增函式)」,選取並串連
SUBTRACT函式。 - 輸入
273.15做為SUBTRACT函式值。這是為了將絕對溫度轉換為攝氏溫度。 - 按一下「輸出」欄的第一列,建立新的輸出變數來保存轉換後的資料值。填寫下列欄位:
- 名稱:輸入
TempInCelsius。 - 勾選「Use as an output of integration」(以整合輸出內容的形式使用)。
- 按一下「建立」建立變數並關閉窗格。新的 TempInCelsius 變數會顯示在「變數」清單中。
- 名稱:輸入
- 將「變數」清單中的「TempInCelsius」變數,拖曳至「輸入」欄的第二列。
- 在「TempInCelsius」變數中點按「+」(新增函式),即可查看可用函式的下拉式清單。
- 按一下
TO_STRING(),將變數的資料類型從double轉換為string。 - 按一下「輸出」資料欄中的第二列,建立新的變數來保存轉換後的資料值。填寫下列欄位:
- 名稱:輸入
TempInCelsiusString。 - 預設值留空代表:選取「空字串」。
- 勾選「Use as an output of integration」(以整合輸出內容的形式使用) 核取方塊。
- 按一下「建立」建立變數並關閉窗格。新變數會顯示在資料對應編輯器左側的「變數」清單中。
- 名稱:輸入
- 完成對應後,請關閉資料對應編輯器。系統會自動儲存所有變更。
- 展開「變數」清單中的
新增並設定「Send Email」(傳送電子郵件) 任務
如要設定「Send Email」(傳送電子郵件) 任務,請按照下列步驟操作:
- 在整合編輯器中選取「Tasks」(工作),即可顯示可用工作清單。
- 在整合服務編輯器中,按一下並放置「傳送電子郵件」元素。
- 按一下設計工具中的「Send Email」(傳送電子郵件) 元素,開啟任務的設定窗格。設定下列屬性:
- 「To Recipient(s)」(收件者):輸入您的電子郵件地址。您會收到這封電子郵件,確認整合作業已順利完成。
- 「Subject」(主旨):輸入
Temperature in Celsius。 - 純文字格式的內文:在「資料對應」工作流程中,選取先前建立的
TempInCelsiusString變數。 - 其餘選項則可保留預設設定。
新增必要的邊緣連線
邊緣是指整合中任意兩個元素之間的連線。連線表示控制流程從一個元素(工作或觸發條件) 到另一個元素的方向。如要進一步瞭解邊緣,請參閱「邊緣」。
- 將滑鼠懸停在「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」(資料對應) 任務的控制流程。
- 將滑鼠懸停在「資料對應」元素上的控制點,接著點選線條並拖曳到「傳送電子郵件」任務元素上的控制點,即可從「資料對應」元素至「傳送電子郵件」元素新增邊緣連線。這個邊緣表示從「資料對應」工作到「傳送電子郵件」工作的控制流程。
完成的連線應如下圖所示:
發布整合項目
如要發布整合項目,請按一下整合編輯器工具列中的「發布」。
成功發布整合項目後,您可以查看並檢查已發布整合項目的執行記錄。如要查看記錄,請按一下「查看這項整合的執行記錄」
。系統隨即會顯示「執行記錄」頁面。
使用 Cloud Pub/Sub 測試整合
如要從 Pub/Sub 主題頁面測試新的整合,請按照下列步驟操作:
- 前往 Cloud 控制台的 Pub/Sub 主題頁面。
- 搜尋並選取您建立的 temperaturesensor 主題。
- 在主題詳細資料頁面中,按一下「+ 發布訊息」,開啟「發布訊息」設定窗格。
- 在「Message body」(訊息內文) 欄位中,輸入
307.15。建立這則訊息會模擬 Pub/Sub 從 IoT 裝置收到的開氏溫度讀數發布作業。
- 按一下「發布」,將訊息發布至主題並觸發整合作業。
成功完成後,整合作業會傳送電子郵件至「Send Email」(傳送電子郵件) 任務中指定的電子郵件地址,並附上轉換為攝氏溫度的開爾文溫度。請在電子郵件用戶端中確認已收到這封電子郵件。
整合服務傳送的電子郵件應包含內文,且內文含有 34 值。
除了驗證電子郵件內容,您也可以檢查記錄,查看特定整合的狀態和酬載。如要查看記錄:
- 在整合服務編輯器中,按一下「查看這項整合的執行記錄」
。系統隨即會顯示「執行記錄」頁面。
如要進一步瞭解執行記錄,請參閱「查看整合執行記錄」。 - 在「執行記錄」頁面中,您可以查看每次嘗試執行整合的詳細資料。
每個項目都包含執行嘗試的詳細資料,包括:
- 整合作業名稱
- 執行作業 ID
- 狀態
- 開始時間
- 時間長度
- 整合版本
- 觸發條件 ID
- 按一下已執行的整合旁邊的展開箭頭 (>),即可查看整合中的工作和變數展開清單,以及工作狀態和變數有效負載。
配額與限制
如要瞭解配額和限制,請參閱「配額與限制」。