Azure Logic Apps 的運作方式
我們已經知道 Azure Logic Apps 的基本知識,現在我們來看看幕後的運作方式。 此資訊應能協助您決定 Azure Logic Apps 是否不需要進行任何自訂就能使用。 因此,在您需要建立自訂群組件的情況下,您可以判斷其可能有多困難。
什麼是連接器?
「連接器」是一個提供外部服務存取介面的元件。 例如,Twitter 連接器可讓您傳送和擷取推文,Office 365 Outlook 連接器則可以讓您管理電子郵件、月曆和連絡人。 Azure Logic Apps 提供數百種預建連接器,可讓您用來建立應用程式。
連接器會使用外部服務的 REST 或 SOAP API 來執行其工作。 在邏輯應用程式工作流程中使用連接器時,連接器會為您呼叫服務的基礎 API。 下圖顯示 Twitter 連接器和其使用的 Twitter REST API。
自訂連接器
您可以撰寫自訂連接器,以存取沒有預先建置連接器的服務。 服務必須有 REST 或 SOAP API。 服務需提供 API 的要求應該不會太令人驚訝,因為連接器本質上是圍繞該基礎 API 的包裝函式。
若要建立自訂連接器,需要先產生 API 的 OpenAPI 或 Postman 描述。 然後使用該 API 描述在 Azure 入口網站中建立自訂連接器資源。 您可以為連接器設定名稱和圖示,以及為每項作業提供描述。 下圖顯示程序範例。 請注意,這裡未涵蓋任何程式碼撰寫。
您可以在自己的應用程式中使用新的連接器,並和組織中的其他人員共用。 也可以將連接器提交給 Microsoft 以取得憑證。 您的連接器取得憑證之後,將會包含在可供所有使用者使用的連接器集合中。
什麼是觸發程序和動作
工作流程是從不同類型的工作建置的。 例如,在我們的社交媒體監視案例中,工作流程會在張貼新推文時啟動。 工作流程接著會分析情感,並根據情感分數制定決策。 Azure Logic Apps 針對這些概念使用了「觸發程序」、「動作」和「控制動作」等詞彙。 這些作業為 Azure Logic Apps 的建置組塊。 下圖顯示如何在社交媒體監視應用程式中使用每種步驟類型。
觸發程序和動作更具體的定義如下:
「觸發程序」是會在滿足一組特定條件時發生的事件。 觸發程序會在滿足條件時自動啟動。 例如,當計時器到期或資料變成可用時。
「動作」是在商務程序中執行工作的作業。 動作會在觸發程序啟動時,或在其他動作完成時執行。
連接器是相關觸發程序和動作的容器。 我們來看幾個範例。
Twitter 連接器可讓您的邏輯應用程式工作流程與 Twitter 互動。 社交媒體監視應用程式會使用 Twitter 連接器的觸發程序,在有新的相關推文出現時即時感知。 下圖顯示 Twitter 連接器和其觸發程序與動作:
接下來,我們有 Dropbox 連接器。 假設您要與將共用資料儲存在 Dropbox 的專案小組一起工作。 您可以建置一個工作流程,只要偵測到有人變更任何檔案,就傳送通知給其他小組成員。 下圖顯示 Dropbox 連接器及其觸發程序和動作:
最後,我們來看看 Twilio 連接器。 大部分連接器都會提供觸發程序和動作,但這個連接器只有動作。 當您想要傳送簡訊通知時,Twilio 連接器非常好用。 例如,您可以在 Dropbox 案例中使用 Twiliio 連接器,在有人變更共用檔案時通知小組成員。 下圖顯示 Twilio 連接器及其動作:
如何從觸發程序和動作建置工作流程
您可以選擇作業,即觸發程序和動作以建置工作流程。 工作流程必須以觸發程序啟動。 接著,就可以順著觸發程序和無上限的動作來實作工作流程。 下圖顯示在社交媒體監視應用程式中使用的觸發程序和動作:
社交媒體監視邏輯應用程式中的觸發程序和動作示意圖。 此圖顯示名為「張貼新推文時」的 Twitter 觸發程序,這會啟動邏輯應用程式工作流程。 觸發程序後面接著三個動作:文字分析服務的「偵測情感」、SQL Server 的「插入資料列」,以及 Outlook.com 的「傳送電子郵件」。
觸發程序和動作如何一起運作?
觸發程序和動作本質上是呼叫基礎 API 作業的函式。 每個作業都有輸入和輸出。 例如,名為 張貼新推文時的 Twitter 觸發程序會接收搜尋字串,並傳回包含該字串的推文。 名為偵測情感的文字分析動作會接收字串為輸入,然後傳回浮點數的情感分數。 下圖顯示這兩項作業:
Azure Logic Apps 會自動將傳回值設為可供其餘所有作業使用。 此功能可讓您將某作業的結果傳送給下一個作業作為輸入。 下圖顯示社交媒體監視應用程式中,最前面兩項作業的資料流程。
作業的結果或輸出可供所有後續步驟使用:
什麼是控制動作?
大部分工作流程需依據正在處理的資料執行不同動作。 例如,工作流程可能根據費用金額,將費用報表路由給不同的經理。 在社交媒體監視應用程式中,工作流程必須根據推文的情感分數進行分支。 下圖顯示社交媒體監視應用程式的流程圖,並醒目提示控制邏輯:
「控制動作」為 Azure Logic Apps 內建的特殊動作,可提供以下控制結構:
- 由布林運算式控制的 Condition 陳述式。
- Switch 陳述式。
- For each 和 Until 迴圈。
- 無條件的 Branch 指示。
下圖顯示社交媒體監視應用程式使用 condition 陳述式的方式:
工作流程設計工具是什麼?
工作流程設計工具是建立工作流程的圖形化工具。 設計工具提供畫布介面,您可以在此將觸發程序和動作新增至工作流程。 例如,社交媒體監視應用程式會使用名為張貼新推文時的觸發程式、稱為「條件」的控制動作,以及名為偵測情感、插入資料列和傳送電子郵件的動作。 以下螢幕擷取畫面顯示設計工具中的社交媒體監視工作流程:
顯示設計工具中之範例工作流程的螢幕擷取畫面。 每個步驟都以啟動觸發程序和每個動作的矩形表示。 箭號會連接矩形區域以顯示應用程式的執行流程。