Azure Logic Apps 的運作方式

已完成

我們已經知道 Azure Logic Apps 的基本知識,現在我們來看看服務在幕後的運作方式。 此資訊能協助您決定 Azure Logic Apps 是否不需要進行任何自訂就能使用。 如此一來,在您需要建立自訂群組件的情況下,您就可以判斷其可能有多困難。

什麼是連接器?

連接器是一種元件,可提供服務或系統的介面,其形式為作業。 例如,Bing 搜尋連接器可讓您擷取新聞文章,Office 365 Outlook 連接器則可以讓您管理電子郵件、月曆和連絡人。 Azure Logic Apps 提供 1,000 多種預建連接器,可讓您用來建立工作流程。

連接器會使用服務的 REST 或 SOAP API 來執行實際工作。 在邏輯應用程式工作流程中使用連接器時,連接器會為您呼叫服務的基礎 API。 因此,連接器基本上是 API 周圍的包裝函式。

下圖顯示 Bing 搜尋連接器與 Bing 搜尋 REST API 之間的關聯性:

圖表顯示 Bing 搜尋 API 中的 Bing 搜尋連接器呼叫方法。

提示

如果您已安裝 Microsoft Copilot,則可以詢問 Copilot 下列問題:

  • 什麼是 Azure Logic Apps 中常用的連接器?
  • Azure Logic Apps 中有幾個連接器?

自訂連接器

您可以撰寫自訂連接器,以存取沒有預先建置連接器的服務。 這些服務必須有 REST 或 SOAP API,這並不意外,因為連接器只是 API 周圍的包裝函式。

若要建立自訂連接器,您要先產生 API 的 OpenAPI 描述。 然後使用該 API 描述在 Azure 入口網站中建立自訂連接器資源。 您可以為連接器設定名稱和圖示,以及為每項作業提供描述。 下圖顯示程序的範例,但請注意,並未涉及任何撰寫程式碼:

圖表顯示為具有 REST API 的服務建立自訂連接器的步驟。

您可以在自己的邏輯應用程式工作流程中使用自訂連接器,並與組織中的其他人員共用。 也可以將連接器提交給 Microsoft 以取得憑證。 在認證連接器之後,其會出現在可供所有使用者使用的連接器資源庫中。

什麼是觸發程序和動作

工作流程是從不同類型的工作建置的。 例如,在我們的產業新聞監視案例中,工作流程會在發佈新文章時開始。 工作流程接著會分析情感,並根據情感分數制定決策。 Azure Logic Apps 針對這些概念使用了「觸發程序」、「動作」和「控制動作」等詞彙。 這些作業是 Azure Logic Apps 中工作流程的建置組塊。 下圖顯示如何在新聞監視應用程式中使用每種類型的作業:

圖表顯示產業新聞監視程序的流程圖。每個步驟都會標示為觸發程序、動作或控制項動作。

觸發程序和動作更具體的定義如下:

  • 觸發程序是符合特定條件時所發生的事件。 當滿足條件時,觸發程序會自動啟動或引發。 例如,當計時器到期或資料變成可用時。

  • 動作是在工作流程中執行特定工作的作業。 動作會在觸發程序啟用之後,或在其他動作完成時執行。

連接器是具有所有相關觸發程序及動作的群組,通常與單一服務、系統或其他群組相關聯。 我們來看幾個範例。

Bing 搜尋連接器可讓您的邏輯應用程式工作流程與 Bing 搜尋服務進行互動。 產業新聞監視應用程式可以使用 Bing 搜尋連接器的觸發程序,判斷何時有新的相關文章可用。 下圖顯示 Bing 搜尋連接器和其觸發程序與動作:

圖表顯示 Bing 搜尋連接器,其中包含檢查新文章的觸發程序,並可列出文章。

接下來,我們有 Dropbox 連接器。 假設您要與將共用資料儲存在 Dropbox 的專案小組一起工作。 您可以建置一個工作流程,只要偵測到有人變更任何檔案,就傳送通知給其他小組成員。 下圖顯示 Dropbox 連接器及其觸發程序和動作:

此圖顯示 Dropbox 連接器,其觸發程序會在有人建立或修改檔案時通知您,並提供管理檔案的動作。

最後,我們來看看 Twilio 連接器。 大部分連接器都會提供觸發程序和動作,但這個連接器只有動作。 Twilio 連接器可讓您傳送通知的簡訊。 例如,您可以在 Dropbox 案例中使用 Twiliio 連接器,在有人變更共用檔案時通知小組成員。 下圖顯示 Twilio 連接器及其動作:

此圖顯示 Twilio 連接器及其可傳送與接收簡訊的動作,但不含任何觸發程序。

如何從觸發程序和動作建置工作流程

若要建置工作流程,您可以選擇作業,即觸發程序和動作。 工作流程必須以觸發程序啟動。 接著,就可以順著觸發程序和無上限的動作來實作工作流程。 下圖顯示在產業新聞監視應用程式中使用的觸發程序和動作:

圖表顯示產業新聞監視應用程式中的觸發程序和動作。每個作業都會顯示相關聯的外部服務。

觸發程序和動作如何一起運作?

觸發程序和動作本質上都是呼叫基礎 API 作業。 每個作業都有輸入和輸出。 例如,名為 [在有新的新聞文章時]Bing 搜尋 觸發程序會接受搜尋字串,並傳回包含該字串的文章。 名為情感的認知服務動作會接收字串為輸入,然後傳回浮點數的情感分數。 下圖顯示這兩項作業:

圖表顯示名為「發行新文章時」觸發程序的輸入和輸出,以及名為「情緒」的動作。

Azure Logic Apps 會自動將傳回值設為可供工作流程中的所有後續作業使用。 此功能可讓您將某作業的結果傳送給下一個作業作為輸入。 下圖顯示產業新聞監視應用程式中,最前面兩項作業的資料流程:

圖表顯示所有先前作業的結果可供所有後續工作流程步驟使用的方式。

什麼是控制動作?

大部分工作流程需依據需要處理的資料執行不同動作。 例如,工作流程可能根據費用金額,將費用報表路由給不同的經理。 在產業新聞監視應用程式中,工作流程必須根據文章的情感分數進行分支。 下圖顯示產業新聞監視應用程式的流程圖,並醒目提示控制邏輯:

圖表顯示以產業新聞監視應用程式中的文章情感為基礎的分支。

Control actions 為 Azure Logic Apps 內建的特殊動作,可提供工作流程控制結構:

  • 由布林運算式控制的 Condition 動作。
  • 由案例和預設案例控制的 Switch 動作。
  • 由布林運算式控制的 UntilFor each 迴圈動作。
  • 無條件的平行分支指示。

下圖顯示如何在產業新聞監視應用程式的工作流程中使用 Condition 動作:

圖表顯示產業新聞監視工作流程及其可根據推文情感選擇分支的內建控制動作。

工作流程設計工具是什麼?

工作流程設計工具是建立工作流程的圖形化工具。 設計工具提供畫布介面,您可以在此新增觸發程序和動作來建置工作流程。 例如,產業新聞監視應用程式會使用名為「在有新的新聞文章時」的觸發程式、稱為「條件」的控制動作,以及名為「情感」、「建立 blob」和「傳送電子郵件」的動作。 以下螢幕擷取畫面顯示設計工具中的產業新聞監視工作流程:

顯示工作流程設計工具中產業新聞監視應用程式的螢幕擷取畫面。