Azure Logic Apps 的運作方式

已完成

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

什麼是連接器?

「連接器」是一個提供外部服務存取介面的元件。 例如,Twitter 連接器可讓您傳送和擷取推文,Office 365 Outlook 連接器則可以讓您管理電子郵件、月曆和連絡人。 Azure Logic Apps 提供數百種預建連接器,可讓您用來建立應用程式。

連接器會使用外部服務的 REST 或 SOAP API 來執行其工作。 在邏輯應用程式工作流程中使用連接器時,連接器會為您呼叫服務的基礎 API。 下圖顯示 Twitter 連接器和其使用的 Twitter REST API。

Diagram shows the Twitter connector calling methods in the Twitter API.

自訂連接器

您可以撰寫自訂連接器,以存取沒有預先建置連接器的服務。 服務必須有 REST 或 SOAP API。 服務需提供 API 的要求應該不會太令人驚訝,因為連接器本質上是圍繞該基礎 API 的包裝函式。

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

Diagram shows the steps required to create a custom connector to a service that has an existing REST API.

您可以在自己的應用程式中使用新的連接器,並和組織中的其他人員共用。 也可以將連接器提交給 Microsoft 以取得憑證。 您的連接器取得憑證之後,將會包含在可供所有使用者使用的連接器集合中。

什麼是觸發程序和動作

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

Diagram shows flowchart for shoe company social media monitoring process. Each step is labeled as a trigger, action, or control action.

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

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

  • 「動作」是在商務程序中執行工作的作業。 動作會在觸發程序啟動時,或在其他動作完成時執行。

連接器是相關觸發程序和動作的容器。 我們來看幾個範例。

Twitter 連接器可讓您的邏輯應用程式工作流程與 Twitter 互動。 社交媒體監視應用程式會使用 Twitter 連接器的觸發程序,在有新的相關推文出現時即時感知。 下圖顯示 Twitter 連接器和其觸發程序與動作:

Diagram shows the Twitter connector with a trigger that notifies you about new tweets and with actions that can send tweets and manage your account.

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

Diagram shows the Dropbox connector with triggers that notify you when files are created or modified and with actions to manage files.

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

Diagram shows the Twilio connector with actions that send and retrieve text messages, but no triggers.

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

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

Diagram shows the trigger and actions in the social media monitoring app. Each operation shows the associated external service.

社交媒體監視邏輯應用程式中的觸發程序和動作示意圖。 此圖顯示名為「張貼新推文時」的 Twitter 觸發程序,這會啟動邏輯應用程式工作流程。 觸發程序後面接著三個動作:文字分析服務的「偵測情感」、SQL Server 的「插入資料列」,以及 Outlook.com 的「傳送電子郵件」。

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

觸發程序和動作本質上是呼叫基礎 API 作業的函式。 每個作業都有輸入和輸出。 例如,名為 張貼新推文時的 Twitter 觸發程序會接收搜尋字串,並傳回包含該字串的推文。 名為偵測情感的文字分析動作會接收字串為輸入,然後傳回浮點數的情感分數。 下圖顯示這兩項作業:

Diagram shows the input and output for the

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

作業的結果或輸出可供所有後續步驟使用:

Diagram shows how the results of all preceding operations are available to all later steps of the logic app.

什麼是控制動作?

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

Diagram shows the social media monitoring app branches that are based on tweet sentiment.

「控制動作」為 Azure Logic Apps 內建的特殊動作,可提供以下控制結構:

  • 由布林運算式控制的 Condition 陳述式。
  • Switch 陳述式。
  • For eachUntil 迴圈。
  • 無條件的 Branch 指示。

下圖顯示社交媒體監視應用程式使用 condition 陳述式的方式:

Diagram shows the social media monitoring workflow with the built-in control action that chooses branches, based on tweet sentiment.

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

工作流程設計工具是建立工作流程的圖形化工具。 設計工具提供畫布介面,您可以在此將觸發程序和動作新增至工作流程。 例如,社交媒體監視應用程式會使用名為張貼新推文時的觸發程式、稱為「條件」的控制動作,以及名為偵測情感插入資料列傳送電子郵件的動作。 以下螢幕擷取畫面顯示設計工具中的社交媒體監視工作流程:

Screenshot shows the social media monitoring app in the workflow designer.

顯示設計工具中之範例工作流程的螢幕擷取畫面。 每個步驟都以啟動觸發程序和每個動作的矩形表示。 箭號會連接矩形區域以顯示應用程式的執行流程。