執行動作

已完成

提醒您,您會從觸發程序與動作建置邏輯應用程式工作流程。 觸發程序會啟動您的工作流程,而動作會完成剩餘的工作。 社交媒體監視應用程式會使用動作來檢查推文評價是正面還是負面、在資料庫中插入資料列,或傳送電子郵件。

在本單元中,我們將針對動作類型執行快速概觀。 接著,我們將討論如何藉由傳遞參數並處理傳回值,在工作流程中使用動作。 最後,我們將檢查如何使用工作流程設計工具來新增及設定動作。

動作類型

Azure Logic Apps 背後的核心目標是協助您讓服務與系統共同運作。 為了支援此目標,Azure Logic Apps 提供下列工作的動作:

  • 存取外部服務與系統。
  • 處理或操作資料或傳回的資料。
  • 透過您的應用程式更改控制流程。

讓我們來檢查每個動作類型。

存取外部服務與系統

最常見的動作類型可協助您使用 Azure Logic Apps 工作流程以外的服務與系統來存取及執行特定工作。 這些動作很常見,因此大部分的人在參考 Azure Logic Apps 時,都會使用「動作」一詞來表示此動作類型。 此動作類型可讓您存取數百項產品,例如其他 Azure 服務、Microsoft 服務與產品、Salesforce、Oracle、Dropbox、GitHub、Facebook、Twilio、Slack、Jira 等。 下圖顯示此類動作的一小部分:

Diagram shows a small selection of common actions. These actions are organized into groups. For example, the diagram shows a group with database actions, such as Oracle, SQL Server, and Azure Cosmos DB.

當您使用動作從工作流程連線至外部服務或系統時,通常會提供連線與授權資訊。 該資訊可能包括使用者名稱、密碼、連接字串或帳戶金鑰。 詳細資料會因每個服務或系統而有所不同。

例如,若要建立與 Azure AI 服務的連線,您會提供網站 URL,讓您的工作流程知道傳送要求的位置。 若要將存取權授與服務,則會提供帳戶金鑰。 您可以從 Azure AI 服務帳戶取得這兩個值。 一般而言,當您將情緒動作新增至工作流程時,會將這些值複製到連線資訊方塊中。

此動作類型可協助您的工作流程傳送資料,以處理資料或將資料提取至工作流程。 但實際上要如何在工作流程中使用該資料? 下一個動作類型可協助此工作。

操作資料

此動作類型可協助您執行作業或處理提取至工作流程的資料。 例如,您有可將多個值串連成單一字串、剖析 JSON 資料、從陣列選取特定值等的動作。

讓我們來看看一個範例。 若您已經在使用 X,則可能熟悉其連結至特定推文的 URL 模式:

https://twitter.com/<username>/status/<id>

您可以在社交媒體監視應用程式中使用此連結類型。 例如,您可能想要將 URL 連結儲存於資料庫中,以便稍後存取推文。 或者,您可能想要在電子郵件中包含 URL 連結,讓同事可以檢閱原始格式的推文。

不幸的是,X 觸發程序所傳回的資料不包含完整的 URL 連結。 然而,資料會在 TweetedBy 屬性中包含使用者名稱,並在 TweetId 屬性中包含識別碼。 因此,您可以使用 Compose 動作將這些片段合併到 URL。 在概念上,作業具有下列邏輯格式:

Compose: "https://twitter.com/" + [TweetedBy] + "/status/" + [TweetId]

改變控制流程

此動作類型可協助您使用條件陳述式與迴圈等建構,透過邏輯應用程式管理資料流程。 社交媒體監視應用程式將會使用控制動作,根據推文情緒為正面或負面來建立決策分支。 我們將顯示此動作類型的運作方式,並在本課程模組稍後討論所有控制動作。

動作參數和傳回值

您可以將動作作業視為具有「參數」與「傳回值」的函式呼叫。 動作參數可讓您將值傳遞至作業。 某些作業會同時使用必要參數與選擇性參數。 例如,名為情緒的 Azure AI 服務動作具有稱為 Text 的必要參數。 此參數代表您想要分析的字串。 情緒動作也有一個名為 Language 的選擇性參數,可讓您提供 Text 參數所用語言的提示。

動作傳回值是作業產生的結果。 例如,情緒動作會傳回介於 01 之間的數值分數。 接近 1 的分數表示正面的情緒,接近 0 的分數則表示負面的情緒。 下圖摘要說明範例社交媒體監視應用程式所用情緒動作的資料流程:

Diagram shows a logic app workflow using the **Sentiment** action to call the Text Analytics service. The action passes the tweet text to the service and receives a numeric sentiment score.

靜態與動態參數的比較

每次執行工作流程時,您傳送至動作的某些參數都會保持不變。 例如,您可能只對英文的推文感興趣,因此,一律將 Language 參數的 en 傳遞至情緒動作。 此種靜態參數類型很簡單。 設定動作時,您會硬式編碼值,讓動作每次執行時都會使用相同的值。

每次執行工作流程時,您傳送至動作的其他參數可能都會有所不同。 一個很好的範例是情感動作的 Text 參數。 當您將推文文字傳遞至 Text 參數時,文字可能會因為每次執行而有所不同。 那麼您要如何取得此動態值的存取權?

我們正在處理的推文是張貼新推文時觸發程序的傳回值或輸出。 此推文資料會封裝成包含推文詳細資料之數個欄位的物件。 Azure Logic Apps 會自動讓此物件在整個工作流程的後續動作中可供使用。 工作流程設計工具提供在工作流程中輕鬆新增及設定動作的視覺化方式。 該設計工具也可協助您從工作流程的上述觸發程序與動作中選取要使用的可用輸出。

使用設計工具新增及設定動作

工作流程設計工具會顯示連接器資源庫,其中包含您可以在工作流程中使用的觸發程序和動作。 一般而言,您會使用搜尋方塊來尋找您感興趣的連接器。 然後,您可以檢閱連接器提供的任何動作。 下列螢幕擷取畫面顯示工作流程設計工具如何呈現連接器與動作,以供您選取:

Screenshot shows workflow designer displaying connectors and actions for you to add to your workflow. You can select an action from a list or use the search box to find the action that you want.

您可以在工作流程結尾或現有步驟之間新增動作。 新增動作之後,使用設計工具進行參數設定。 同樣地,設計工具會提供視覺化方式,讓您輸入動作的參數值。

雖然您可以手動新增靜態參數值,但設計工具有不同的方式可讓您輸入動態參數值。 每當您在編輯方塊中選取時,設計工具會開啟動態內容清單,其會顯示上述步驟中可用的任何資料或輸出。 您可以選取所需的資料,而設計工具會自動在您的動作中填入編輯方塊與選取項目。 下列螢幕擷取畫面顯示來自設計工具中社交媒體監視邏輯應用程式工作流程的動態推文資料:

Screenshot shows the workflow designer with the dynamic content list. The example shows the dynamic content list with the X trigger outputs, such as the **Created at**, **Description**, and **Location** dynamic parameter values. You can select a dynamic parameter from the list to use in an action for your workflow.

工作流程設計工具讓新增動態內容變得很簡單,您不需要記住參數名稱與傳回值,也不需要擔心語法詳細資料。