共用方式為


使用 Azure 入口網站建立標準邏輯應用程式工作流程範例

適用於:Azure Logic Apps (標準)

此操作指南會示範如何建立自動化工作流程範例,等候輸入 Web 要求,然後將訊息傳送至電子郵件帳戶。 更具體來說,您會建立標準邏輯應用程式資源,其中包含在單一租用戶 Azure Logic Apps 中執行的多個具狀態和無狀態工作流程

  • 要求觸發程序會建立可呼叫的端點,以處理來自任何呼叫端的輸入要求。
  • Office 365 Outlook 連接器,提供傳送電子郵件的動作。

當您完成時,工作流程看起來會像下列概括範例:

螢幕擷取畫面顯示 Azure 入口網站、具有要求觸發程序和 Office 365 Outlook 動作的範例使用量工作流程。

您可以在標準邏輯應用程式中有多個工作流程。 相同邏輯應用程式和租用戶中的工作流程會在與 Azure Logic Apps 執行階段相同的程序中執行,因此會共用相同的資源並提供更佳的效能。

提示

若要深入了解,您可以詢問 Azure Copilot 下列問題:

  • 什麼是 Azure Logic Apps?
  • 什麼是標準邏輯應用程式工作流程?
  • 什麼是要求觸發程序?
  • 什麼是 Office 365 Outlook 連接器?

若要尋找 Azure Copilot,請在 Azure 入口網站工具列上,選取 [Copilot]

您可以在工作流程中使用超過 1000 個連接器,此範例中的作業是其中的兩個。 雖然此範例是以雲端為基礎,但您可以建立工作流程,以跨雲端、內部部署和混合式環境整合各種不同的應用程式、資料、服務和系統。

隨著您進行,您會完成這些高階工作:

若要從遵循常用模式的預先建置範本建立標準邏輯應用程式工作流程,請參閱從預先建置的範本建立標準邏輯應用程式工作流程

若要使用其他工具來建立和管理標準邏輯應用程式工作流程,請參閱使用 Visual Studio Code 建立標準工作流程。 使用 Visual Studio Code,您可以在本機開發環境中開發、測試及執行工作流程。

如需詳細資訊,請參閱下列文件:

必要條件

  • 若要將標準邏輯應用程式資源部署到 App Service 環境 v3 (ASEv3) - 僅限 Windows 方案,您必須先建立此環境資源。 然後,您可以在建立邏輯應用程式時,選取此環境作為部署位置。 如需詳細資訊,請參閱資源類型和環境建立 App Service 環境

  • 若要啟用從標準邏輯應用程式工作流程到進階整合帳戶上私人端點的通訊,您必須有現有的 Azure 虛擬網路。 邏輯應用程式、虛擬網路和整合帳戶都必須使用相同的 Azure 區域。 邏輯應用程式和整合帳戶必須存在於同一個虛擬網路內。 如需詳細資訊,請參閱建立虛擬網路

  • 如果您在邏輯應用程式上啟用 Application Insights,您可以選擇性地啟用診斷記錄和追蹤。 您可以在建立邏輯應用程式時或在部署之後執行此動作。 您需要有 Application Insights 執行個體,但可以在建立邏輯應用程式時或在部署之後,預先建立此資源

最佳做法和建議

若要獲得最佳的設計工具回應性和效能,請檢閱並遵循下列指導方針:

  • 每個工作流程不超過 50 個動作。 超過這個數目的動作會增加設計工具效能變慢的可能性。

  • 請考慮視需要將商務邏輯分割成多個工作流程。

  • 每個邏輯應用程式資源不超過 10-15 個工作流程。

邏輯應用程式中的更多工作流程會增加載入時間較長的風險,而這會對效能造成負面影響。 如有需要零停機部署的任務關鍵邏輯應用程式,請考慮設定部署位置

建立標準邏輯應用程式資源

  1. Azure 入口網站中,使用您的 Azure 帳戶登入。

  2. 在 Azure 入口網站搜尋方塊中輸入邏輯應用程式,然後選取 [邏輯應用程式]

    顯示 Azure 入口網站搜尋方塊的螢幕擷取畫面,其中包含文字、邏輯應用程式,以及顯示選取項目、邏輯應用程式。

  3. 在 [邏輯應用程式] 頁面工具列上,選取 [新增]

    [建立邏輯應用程式] 頁面隨即出現,並顯示下列選項:

    計劃 描述
    耗用 建立僅支援在多租用戶 Azure Logic Apps 中所執行一個工作流程的邏輯應用程式資源,並使用使用量模型進行計費
    標準 建立支援多個工作流程的邏輯應用程式資源。 您有下列選擇:

    - 工作流程服務方案:工作流程會在單一租用戶 Azure Logic Apps 中執行,並使用標準模型進行計費

    - App Service 環境 V3:工作流程會在單一租用戶 Azure Logic Apps 中執行,並使用 App Service 環境方案進行計費

    - 混合式 (預覽):工作流程會使用 Kubernetes 事件驅動自動調整 (KEDA) 在內部部署和多個雲端中執行。 如需詳細資訊,請參閱 建立混合式部署的標準工作流程。
  4. 在 [建立邏輯應用程式] 頁面上,選取 [標準 (工作流程服務方案)]

    方案類型 描述
    標準 此邏輯應用程式類型是預設選取項目。 工作流程會在單一租用戶 Azure Logic Apps 中執行,並使用標準價格模型 (部分機器翻譯)。
    耗用 此邏輯應用程式類型和工作流程會在全域、多租用戶的 Azure Logic Apps 中執行,並使用使用量價格模型 (部分機器翻譯)。
  5. 在 [建立邏輯應用程式] 頁面的 [基本資訊] 索引標籤上,提供有關邏輯應用程式的下列基本資訊:

    屬性 必填 Description
    訂用帳戶 Yes <Azure-訂閱-名稱> 您的 Azure 訂用帳戶名稱。

    此範例使用隨用隨付
    資源群組 Yes <Azure-資源-群組-名稱> 您在其中建立邏輯應用程式和相關資源的 Azure 資源群組。 此名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧(()) 和句點 (.)。

    此範例會建立名為 Fabrikam-Workflows-RG 的資源群組。
    邏輯應用程式名稱 Yes <logic-app-name> 您的邏輯應用程式資源名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧 (()) 和句點 (.)。

    注意:邏輯應用程式的名稱會自動取得尾碼 .azurewebsites.net,因為標準邏輯應用程式資源是由單一租用戶 Azure Logic Apps 執行階段提供支援,其使用 Azure Functions 擴充性模型,並裝載為 Azure Functions 執行階段上的延伸模組。 Azure Functions 使用相同的應用程式命名慣例。

    此範例會建立名為 Fabrikam-Workflows 的邏輯應用程式資源。
    區域 Yes <Azure-region> 邏輯應用程式的 Azure 資料中心區域。

    此範例會使用「美國西部」
    Windows Plan Yes <plan-name> 要使用的方案名稱。 選取現有的方案名稱,或提供新方案的名稱。

    此範例使用 My-App-Service-Plan 名稱。

    注意:請勿使用以 Linux 為基礎的 App Service 方案。 僅支援以 Windows 為基礎的 App Service 方案。
    定價方案 Yes <pricing-tier> 要用於邏輯應用程式和工作流程的定價層。 您的選取項目會影響邏輯應用程式和工作流程所使用的定價、計算、記憶體和儲存體。

    如需詳細資訊,請檢閱主控方案和定價層

    注意

    如果您選取支援可用性區域備援的 Azure 區域,則會啟用 [區域備援] 區段。 本節提供為邏輯應用程式啟用可用性區域備援的選項。 不過,目前支援的 Azure 區域不包含美國西部,因此針對此範例您可以忽略本節。 如需詳細資訊,請參閱使用區域備援和可用性區域保護邏輯應用程式免於發生區域失敗

    完成之後,您的設定看起來類似下列範例:

    顯示 Azure 入口網站和名為 [建立邏輯應用程式工作流程服務方案] 頁面的螢幕擷取畫面。

    注意

    標準邏輯應用程式需要FUNCTIONS_WORKER_RUNTIME應用程式設定,且先前的值已設定為節點。 不過,所有新的和現有的已部署標準邏輯應用程式,所需的值現在是 dotnet 。 此值的這項變更不應影響工作流程的運行時間,因此一切都應該與之前一樣運作。 如需詳細資訊,請參閱 FUNCTIONS_WORKER_RUNTIME 應用程式設定

    標準邏輯應用程式需要APP_KIND應用程式設定值,而且此值必須是 workflowApp。 不過,在某些情況下,此應用程式設定可能會遺失,例如,因為使用 Azure Resource Manager 範本的自動化,或未包含設定的其他案例。 如果某些動作無法運作,例如 「執行 JavaScript 程式代碼 」動作,或工作流程停止運作,請檢查 APP_KIND 應用程式設定是否存在,並設定為 workflowApp。 如需詳細資訊,請參閱 APP_KIND 應用程式設定

  6. 當您完成時,請選取 [下一步:儲存體]

  7. 在 [儲存體] 索引標籤上,針對要用於邏輯應用程式的儲存體解決方案和主控方案,提供下列相關資訊。

    屬性 必填 Description
    儲存體類型 Yes - Azure 儲存體
    - SQL 和 Azure 儲存體
    您想要用於工作流程相關成品和資料的儲存體類型。

    - 若只要部署至 Azure,請選取 [Azure 儲存體]

    - 若要使用 SQL 作為主要儲存體並將 Azure 儲存體作為次要儲存體,請選取 [SQL 和 Azure 儲存體],然後檢閱在單一租用戶的 Azure Logic Apps中設定標準邏輯應用程式的 SQL 資料庫儲存體

    注意:如果您要部署至 Azure 區域,則仍然需要 Azure 儲存體帳戶,用於在 Azure Logic Apps 平台上完成邏輯應用程式組態的一次性裝載。 工作流程的狀態、執行歷程記錄和其他執行階段成品皆會儲存在 SQL 資料庫中。

    若要部署至裝載於 Azure Arc 叢集上的自訂位置,您只需要 SQL 作為儲存體提供者。
    儲存體帳戶 Yes <Azure-storage-account-name> 要用於儲存體交易的 Azure 儲存體帳戶

    此資源名稱在各區域中必須是唯一的,而且有 3-24 個字元 (僅限數字和小寫字母)。 選取現有的帳戶,或建立新的帳戶。

    此範例會建立名為 mystorageacct 的儲存體帳戶。
  8. 在 [網路] 索引標籤上,您可以保留預設選項以遵循範例。 不過,若為具體的實際案例,請務必檢閱並選取下列適當選項。 您也可以在部署邏輯應用程式資源之後變更此設定。 如需詳細資訊,請參閱使用私人端點保護標準邏輯應用程式與 Azure 虛擬網路之間的流量

    下列 [啟用公用存取] 設定適用於邏輯應用程式上的端點,且不會影響邏輯應用程式是否可與相同虛擬網路中的 Azure 資源通訊,例如,具有私人端點的進階整合帳戶。 若要存取這類 Azure 資源,邏輯應用程式必須存在於與這些資源相同的虛擬網路中。

    啟用公用存取 行為
    開啟 邏輯應用程式具有公用端點,其輸入位址已對網際網路開放。 位於 Azure 虛擬網路外部的用戶端可以使用此端點來存取邏輯應用程式,但不能存取虛擬網路。
    關閉 您的邏輯應用程式沒有公用端點,但有私人端點供 Azure 虛擬網路內的通訊使用,並在該虛擬網路內隔離。 私人端點可以與虛擬網路中的端點通訊,但只能從該網路內的用戶端進行通訊。 此設定也表示邏輯應用程式流量可由網路安全性群組控管,或受到虛擬網路路由影響。

    下列設定可控制標準邏輯應用程式對虛擬網路中端點的存取:

    啟用網路插入 行為
    開啟 邏輯應用程式工作流程可以私下且安全地與虛擬網路中的端點通訊。

    若要啟用邏輯應用程式與進階整合帳戶上的私人端點之間的通訊,請選取此選項,這也會讓 [虛擬網路] 區段變為可供使用。 針對 [虛擬網路],選取要使用的 Azure 虛擬網路。 此選項可讓 [輸入存取] 和 [輸出存取] 區段變為可供使用。
    關閉 邏輯應用程式工作流程無法與虛擬網路中的端點通訊。

    當 [啟用網路插入] 設定為 [開啟] 時,在您選取虛擬網路後,下列區段便會出現。

    輸入存取

    • 啟用私人端點:適用於標準邏輯應用程式上的私人端點,且只有在 [啟用公用存取] 設定為 [關閉] 時才可供使用。

    輸出存取

    • 啟用 VNet 整合:若要啟用標準邏輯應用程式與進階整合帳戶上私人端點之間的通訊,請選取 [開啟] 以及要使用的子網路。
  9. 如果您的建立和部署設定支援使用 Application Insights,您可選擇性地透過下列步驟來啟用邏輯應用程式工作流程的診斷記錄和追蹤:

    1. 在 [監視] 索引標籤的 [Application Insights] 底下,將 [啟用 Application Insights] 設定為 [是]

    2. 針對 [Application Insights] 設定,選取現有的 Application Insights 執行個體,或如果您想要建立新的執行個體,請選取 [新建],並提供您想要使用的名稱。

  10. 在 Azure 驗證邏輯應用程式的設定之後,在 [檢閱 + 建立] 索引標籤上,選取 [建立],例如:

    螢幕擷取畫面顯示 Azure 入口網站和新的邏輯應用程式資源設定。

    注意

    如果您在此步驟期間收到驗證錯誤,請開啟並檢閱錯誤詳細資料。 例如,如果您選取的區域達到您嘗試建立的資源配額,您可能必須嘗試不同的區域。

    在 Azure 完成部署之後,邏輯應用程式資源會自動上線,但尚未執行任何動作,因為資源是空的,而且您尚未新增任何工作流程。

  11. 在 [部署完成] 頁面上,選取 [移至資源],以便新增空白工作流程。

    螢幕擷取畫面:顯示 Azure 入口網站和已完成的部署。

新增空白工作流程

建立空的邏輯應用程式資源之後,您必須新增第一個工作流程。

  1. 在 Azure 開啟資源之後,在邏輯應用程式功能表上的 [工作流程] 下,選取 [工作流程]。 在 [工作流程] 工具列上,選取 [新增]

    螢幕擷取畫面顯示已選取 [工作流程] 的邏輯應用程式功能表。工具列會顯示 [新增] 的選取選項。

  2. 在 [新增工作流程] 窗格開啟之後,請為您的工作流程提供名稱,然後選取狀態類型 (具狀態無狀態)。 完成後,請選取 [建立]

    此範例會新增名為 Stateful-Workflow 的空白具狀態工作流程。 根據預設,工作流程會啟用,但在您新增觸發程序和動作之前,不會執行任何動作。

    螢幕擷取畫面:顯示名為 Stateful-Workflow 的新空白具狀態工作流程。

  3. 從工作流程清單中,選取空白具狀態工作流程。

  4. 在工作流程功能表的 [開發人員] 之下,選取 [設計工具]

    設計工具介面會顯示選取觸發程序作業的提示。 該提示已預設為選取,因此具有可用觸發程序的窗格已開啟。

現在,新增可啟動工作流程的觸發程序。

新增觸發程序

此工作流程範例會以內建要求觸發程序開始,此觸發程序名為收到 HTTP 要求時。 此觸發程序會建立端點,讓其他服務或邏輯應用程式工作流程可以呼叫,並等候這些輸入呼叫或要求到達。 內建作業會以原生方式直接在 Azure Logic Apps 執行階段內執行。

  1. 在工作流程設計工具上,確定已開啟空白工作流程,並在設計工具介面上選取 [新增觸發程序] 提示。

  2. 藉由使用要求作為搜尋字詞,遵循下列步驟,將名為收到 HTTP 要求時的內建要求觸發程序新增至工作流程。

    當觸發程序出現於設計工具時,觸發程序的資訊窗格隨即開啟,以顯示觸發程序的屬性、設定和其他動作。

    螢幕擷取畫面:顯示工作流程設計工具與觸發程序資訊窗格。

  3. 儲存您的工作流程您 在設計師工具列上選取儲存

    當您第一次儲存工作流程,且該工作流程以要求觸發程序開始時,Azure Logic Apps 會自動為要求觸發程序所建立的端點產生 URL。 稍後,當您測試工作流程時,您會將要求傳送至此 URL,這會引發觸發程序並啟動工作流程執行。

新增動作

此工作流程範例會使用名為傳送電子郵件Office 365 Outlook 受控連接器動作繼續作業。 受控連接器作業會在 Azure 中執行,而不是以原生方式直接在 Azure Logic Apps 執行階段上執行。

  1. 在設計工具上,於您新增的觸發程序底下,選取加號 (+) >[新增動作]

    [新增動作] 窗格會隨即開啟,讓您選取下一個動作。

  2. 使用 Office 傳送電子郵件作為搜尋字詞,遵循下列步驟,將名為傳送電子郵件 (V2) 的 Office 365 Outlook 動作新增至您的工作流程。

  3. 在動作的資訊窗格中,於 [建立連線] 索引標籤上,選取 [登入],以便建立您電子郵件帳戶的連線。

    螢幕擷取畫面:顯示設計工具,以及名為 [傳送電子郵件 (V2)] 且含有 [登入] 按鈕的窗格。

  4. 當系統提示您存取您的電子郵件帳戶時,請以您的帳戶認證登入。

    注意

    如果您收到錯誤訊息:「失敗並出現錯誤:『瀏覽器已關閉』。請再次登入」,請檢查您的瀏覽器是否封鎖第三方 Cookie。 如果封鎖這些 Cookie,請嘗試將 https://portal.azure.com 新增至可使用 Cookie 的網站清單。 如果您使用 incognito 模式,請確定第三方 Cookie 不會在該模式中運作時遭到封鎖。

    如有必要,請重新載入頁面、開啟您的工作流程、再次新增電子郵件動作,然後嘗試建立連線。

    在 Azure 建立連線之後,[傳送電子郵件] 動作會出現在設計工具上並預設為已選取。 如果未選取此動作,請選取此動作,使其資訊窗格也會開啟。

  5. 在動作資訊窗格的 [參數] 索引標籤上,提供動作的必要資訊,例如:

    螢幕擷取畫面:顯示設計工具以及已選取 [參數] 索引標籤的 [傳送電子郵件] 資訊窗格。

    屬性 必填 Description
    目標 Yes <your-email-address> 電子郵件收件者,這可能是您的電子郵件地址,以供測試之用。 此範例使用虛構的電子郵件 sophiaowen@fabrikam.com
    主體 Yes 來自工作流程範例的電子郵件 電子郵件主旨
    本文 Yes 來自您工作流程範例的問候! 電子郵件內文內容

    注意

    在 [設定]、[靜態結果] 或 [執行時間點] 索引標籤的資訊窗格中進行任何變更時,請務必先選取 [完成] 以認可這些變更,再切換索引標籤或將焦點變更至設計工具。 否則,設計工具不會保留您所做的變更。

  6. 儲存您的工作流程您 在設計師工具列上選取儲存

  7. 如果您的環境有嚴格的網路需求或防火牆可限制流量,您必須為工作流程中存在的任何觸發程序或動作連線設定權限。 若要尋找完整網域名稱,請檢閱尋找防火牆存取的網域名稱

    否則,若要測試工作流程,請手動觸發執行

從設計工具刪除項目

若要從設計工具刪除工作流程中的項目,請遵循下列步驟:

  • 選取項目,開啟項目的捷徑功能表 (Shift+F10),然後選取 [刪除]。 請選取 [確定] 確認。

  • 選取項目,然後按 DELETE 鍵。 請選取 [確定] 確認。

  • 選取項目,該項目的資訊窗格隨即開啟。 在窗格的右上角,開啟省略符號 (...) 功能表,然後選取 [刪除]。 請選取 [確定] 確認。

    螢幕擷取畫面:顯示設計工具上已選取的項目和已開啟的資訊窗格,且已選取省略符號按鈕和 [刪除] 命令。

    提示

    如果看不到省略符號功能表,請展開夠寬的瀏覽器視窗,以便資訊窗格顯示右上角的省略符號 (...) 按鈕。

尋找防火牆存取的網域名稱

在部署邏輯應用程式並在 Azure 入口網站中執行工作流程之前,如果您的環境有嚴格的網路需求或防火牆來限制流量,您必須為邏輯應用程式中存在的工作流程中的任何觸發程序或動作連線設定網路或防火牆權限。

若要尋找邏輯應用程式和工作流程所使用的輸入和輸出 IP 位址,請遵循下列步驟:

  1. 在邏輯應用程式功能表的 [設定] 之下,選取 [網路]

  2. 在 [網路] 頁面上,尋找並檢閱 [輸入流量] 和 [輸出流量] 區段。

若要尋找連線的完整網域名稱 (FQDN),請遵循下列步驟:

  1. 在邏輯應用程式功能表的 [工作流程] 之下,選取 [連線]。 在 [API 連線] 索引標籤上,選取連線的資源名稱,例如:

    螢幕擷取畫面:顯示 Azure 入口網站以及已選取 [連線] 和 [office365] 連線資源名稱的邏輯應用程式功能表。

  2. 展開夠寬的瀏覽器,以便 [JSON 檢視] 出現在瀏覽器的右上角時,選取 [JSON 檢視]

    螢幕擷取畫面:顯示 Azure 入口網站以及已選取 [JSON 檢視] 的 [API 連線] 窗格。

  3. connectionRuntimeUrl 屬性值複製並儲存在安全的地方,以便使用此資訊來設定防火牆。

    螢幕擷取畫面:顯示名為 connectionRuntimeUrl 的所選取屬性值。

  4. 針對每個連線,重複相關步驟。

觸發工作流程

在此範例中,工作流程會在要求觸發程序收到輸入要求時執行,而該要求會傳送至觸發程序所建立端點的 URL。 當您第一次儲存工作流程時,Azure Logic Apps 會自動產生此 URL。 因此,您必須先找到此 URL,才能傳送此要求來觸發工作流程。

  1. 在工作流程設計工具上,選取名為收到 HTTP 要求時要求觸發程序。

  2. 開啟資訊窗格之後,在 [參數] 索引標籤上,尋找 [HTTP POST URL] 屬性。 若要複製所產生的 URL,請選取 [複製 URL] (複製檔案圖示),然後立即將 URL 儲存到其他地方。 URL 會遵循以下格式:

    https://<*logic-app-name*>.azurewebsites.net:443/api/<*workflow-name*>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*shared-access-signature*>

    螢幕擷取畫面顯示設計工具,包含「HTTP POST URL」屬性中的要求觸發程序與端點 URL。

    在這個範例中,URL 看起來如下︰

    https://fabrikam-workflows.azurewebsites.net:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX

    提示

    您也可以在 [工作流程 URL] 屬性的邏輯應用程式 [概觀 ] 頁面上 找到端點 URL

    1. 在資源功能表上,選取 [概觀]
    2. 在 [概觀] 窗格上,尋找 [工作流程 URL] 屬性。
    3. 若要複製端點 URL,請將指標移至端點 URL 文字的結尾,然後選取 [複製到剪貼簿] (複製檔案圖示)。
  3. 若要測試端點 URL 並觸發工作流程,請使用 HTTP 要求工具和其指示,將 HTTP 要求傳送至 URL,包括要求觸發程序預期的方法。

    此範例會使用 GET 方法搭配所複製的 URL,其看起來像下列範例:

    GET https://fabrikam-workflows.azurewebsites.net:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX

    觸發程序引發時,範例工作流程會執行並傳送類似此範例顯示的電子郵件:

    螢幕擷取畫面顯示 Outlook 電子郵件,如範例中所述

檢閱工作流程執行歷程記錄

當具狀態工作流程完成執行之後,您可以針對觸發程序,以及每個動作及其輸入和輸出,檢視工作流程的執行歷程記錄 (包括整體執行的狀態)。 在 Azure 入口網站中,工作流程執行歷程記錄和觸發程序歷程記錄會出現在工作流程層級,而不是邏輯應用程式資源層級。 如需詳細資訊,請參閱檢閱工作流程執行歷程記錄檢閱觸發程序歷程記錄

在此工作流程範例中,工作流程執行歷程記錄看起來會類似下列範例:

此螢幕擷取畫面顯示具有工作流程中各步驟狀態的執行詳細資料檢視。

此螢幕擷取畫面顯示所選取動作 (名為 [傳送電子郵件]) 中的輸入和輸出。

檢閱觸發程序記錄

對於具狀態工作流程,您可以檢閱每次執行的觸發程序歷程記錄,包括觸發程序狀態以及輸入和輸出,這與工作流程執行歷程記錄分開。 在 Azure 入口網站中,觸發程序歷程記錄和執行歷程記錄會出現在工作流程層級,而不是邏輯應用程式層級。 如需詳細資訊,請參閱檢閱觸發程序歷程記錄

使用相同的輸入重新提交工作流程執行

針對現有的具狀態工作流程執行,您可以使用先前用於該執行的相同輸入來重新執行整個工作流程。 如需詳細資訊,請參閱使用相同的輸入重新執行工作流程

設定記憶體帳戶的受控識別存取權

根據預設,您的標準邏輯應用程式會使用 連接字串 來驗證 Azure 儲存體 帳戶的存取權。 不過,您可以設定使用者指派的受控識別,以改為驗證存取權。

注意

目前,您無法針對使用工作流程服務方案裝載選項的標準邏輯應用程式停用記憶體帳戶密鑰存取。 不過,如果您的邏輯應用程式使用 App Service 環境 v3 裝載選項,您可以在完成設定受控識別驗證的步驟之後停用記憶體帳戶密鑰存取。

  1. Azure 入口網站 中,遵循下列步驟來建立使用者指派的受控識別

  2. 從使用者指派的身分識別中,取得資源標識碼:

    1. 在使用者指派的受控識別功能表上,於 [設定] 底下,選取 [屬性]。

    2. 從 [ 標識元 ] 屬性複製並儲存資源識別碼。

  3. 從記憶體帳戶取得 Blob、佇列和資料表服務的 URI:

    1. 在記憶體帳戶功能表上的 [設定] 底下,選取 [端點]。

    2. 複製並儲存 Blob 服務佇列服務和數據表服務的 URI

  4. 在您的記憶體帳戶上,為使用者指派的身分識別新增必要的角色指派:

    1. 在記憶體帳戶功能表上,選取 [存取》[存取》[存取》[存取]。

    2. 在 [ 訪問控制 (IAM)] 頁面工具列的 [新增 ] 功能表中,選取 [ 新增角色指派]。

    3. 在 [ 作業函式角色] 索引標籤上,將下列每個角色新增至使用者指派的身分識別:

      • 儲存體帳戶參與者
      • 儲存體 Blob 資料擁有者
      • 儲存體佇列資料參與者
      • 儲存體資料表資料參與者

    如需詳細資訊,請參閱使用 Azure 入口網站 指派 Azure 角色和瞭解角色指派

  5. 請遵循下列步驟,將使用者指派的受控識別新增至標準邏輯應用程式資源

  6. 如果您的標準邏輯應用程式使用名為 Workflow Service Plan 的裝載選項,請啟用運行時間調整監視:

    注意

    如果您的邏輯應用程式使用 App Service 環境 (ASE) v3 裝載選項,請略過運行時間調整監視的步驟,因為 ASE 不支援這項功能。

    1. 在邏輯應用程式功能表的 [設定] 下,選取 [設定]

    2. 在 [ 工作流程運行時間設定 ] 索引標籤上,針對 [運行時間調整監視],選取 [ 開啟]。

    3. 在 [ 組態 ] 工具列上,選取 [ 儲存]。

  7. 在您的標準邏輯應用程式上,設定資源識別碼和服務 URI:

    1. 在邏輯應用程式功能表上,選取 [概觀]

    2. 在 [概觀] 頁面工具列上,選取 [停止]

    3. 在邏輯應用程式功能表上的 [設定] 底下,選取 [環境變數]。

    4. 在 [ 應用程式設定] 索引標籤上,選取 [新增 ] 以新增下列應用程式設定和值:

      應用程式設定
      AzureWebJobsStorage__managedIdentityResourceId 使用者指派受控識別的資源標識碼
      AzureWebJobsStorage__blobServiceUri 記憶體帳戶的 Blob 服務 URI
      AzureWebJobsStorage__queueServiceUri 記憶體帳戶的佇列服務 URI
      AzureWebJobsStorage__tableServiceUri 記憶體帳戶的數據表服務 URI
      AzureWebJobsStorage__credential managedIdentity
    5. 在 [應用程式設定] 索引標籤上,刪除名為 AzureWebJobsStorage 的應用程式設定,該設定會設定為與記憶體帳戶相關聯的 連接字串。

    6. 當您完成時,請選取 [ 套用],以儲存變更並重新啟動邏輯應用程式。

      您的變更可能需要數分鐘才會生效。 如有必要,請在邏輯應用程式功能表上選取 [ 概觀],然後在工具欄上選取 [ 重新整理]。

      可能會顯示下列訊息,但不是錯誤,而且不會影響邏輯應用程式:

      「AzureWebjobsStorage」應用程式設定不存在。

啟用無狀態工作流程的執行歷程記錄

若要更輕鬆地偵錯無狀態工作流程,您可以啟用該工作流程的執行歷程記錄,然後在完成時停用執行歷程記錄。 請遵循 Azure 入口網站的下列步驟,或如果您在 Visual Studio Code 中作業,請參閱在 Visual Studio Code 中建立具狀態和無狀態工作流程

  1. Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在邏輯應用程式功能表的 [設定] 下,選取 [設定]

  3. 在 [應用程式設定] 索引標籤上,選取 [新增應用程式設定]

  4. 在 [新增/編輯應用程式設定] 窗格的 [名稱] 方塊中,輸入此作業選項名稱:

    Workflows.{yourWorkflowName}.OperationOptions

  5. 在 [值] 方塊中,輸入下列值:WithStatelessRunHistory

    螢幕擷取畫面:顯示標準邏輯應用程式以及名為 [新增/編輯應用程式設定] 且 Workflows.{yourWorkflowName}.OperationOptions 設定為 WithStatelessRunHistory 的窗格。

  6. 若要完成這項工作,請選取 [確定]。 在 [設定] 窗格工具列上,選取 [儲存]

  7. 若要在完成時停用執行歷程記錄,請將名為 Workflows.{your-workflow-name}.OperationOptions 的屬性設定為None,或刪除此屬性及其值。

在部署後啟用或開啟 Application Insights

在工作流程執行期間,邏輯應用程式會發出遙測和其他事件。 您可以使用此遙測,更清楚地瞭解工作流程的執行狀況,以及 Logic Apps 執行階段如何以各種方式運作。 您可以使用 Application Insights 監視工作流程,以提供近乎即時的遙測 (即時計量)。 當您使用此資料來診斷問題、設定警示及建置圖表時,這項功能可協助您更輕鬆地調查失敗和效能問題。

如果邏輯應用程式的建立和部署設定支援使用 Application Insights,您可選擇性地啟用邏輯應用程式工作流程的診斷記錄和追蹤。 您可以在 Azure 入口網站中建立邏輯應用程式資源時或在部署之後執行此動作。 您需要有 Application Insights 執行個體,但可以在建立邏輯應用程式時或在部署之後,預先建立此資源。 您也可以選擇性地為標準工作流程啟用 Application Insights 中的強化遙測

在已部署的邏輯應用程式上啟用 Application Insights

  1. 在 Azure 入口網站中,尋找您已部署的邏輯應用程式。

  2. 在邏輯應用程式功能表的 [設定] 之下,選取 [Application Insights]

  3. 在 [Application Insights] 窗格中,選取 [開啟 Application Insights]

  4. 窗格更新之後,請在底部選取 [套用]>[是]

  5. 在 [Application Insights] 窗格中,選取 [檢視 Application Insights]

    Application Insights 儀表板開啟之後,您可以檢閱邏輯應用程式工作流程的計量或記錄。 例如,若要繪製資料的圖表或查詢資料,請在 Application Insights 資源功能表的 [監視] 底下,選取 [計量] 或 [記錄]

開啟 Application Insights

  1. 在 Azure 入口網站中,尋找您已部署的邏輯應用程式。

  2. 在邏輯應用程式功能表的 [設定] 之下,選取 [Application Insights]

  3. 在 [Application Insights] 窗格中,選取 [檢視 Application Insights]

    Application Insights 儀表板開啟之後,您可以檢閱邏輯應用程式工作流程的計量或記錄。 例如,若要繪製資料的圖表或查詢資料,請在 Application Insights 資源功能表的 [監視] 底下,選取 [計量] 或 [記錄]

檢視連線

當您使用 Microsoft 提供的受控連接器在工作流程中建立連線時,這些連線會以自己的資源定義來分隔 Azure 資源,並裝載於全域、多租用戶 Azure 中。 標準邏輯應用程式工作流程也可以使用內建服務提供者連接器,此連接器會原生執行,並由單一租用戶 Azure Logic Apps 執行階段提供。 若要檢視和管理這些連線,請參閱檢視連線

停止或啟動邏輯應用程式資源

請遵循停用或啟用邏輯應用程式中的步驟。

針對問題和錯誤進行疑難排解

對於先前建立的工作流程,設計工具選擇器遺漏新的觸發程序和動作

單一租用戶 Azure Logic Apps 支援 Azure 函式作業、Liquid 作業和 XML 作業的內建動作,例如 XML 驗證轉換 XML。 不過,對於先前建立的邏輯應用程式,如果您的邏輯應用程式使用過期版本的延伸套件組合 (Microsoft.Azure.Functions.ExtensionBundle.Workflows),這些動作可能不會出現在設計工具中供您選取。

若要修正此問題,請遵循下列步驟來刪除過期的版本,以便延伸套件組合自動更新為最新版本。

注意

此特定解決方案僅適用於您使用 Azure 入口網站建立的標準邏輯應用程式資源,不適用於您使用 Visual Studio Code 和 Azure Logic Apps (標準) 延伸模組建立和部署的邏輯應用程式。 請參閱 Visual Studio Code 中的設計工具遺漏支援的觸發程序和動作

  1. 在 Azure 入口網站中,停止您的邏輯應用程式。

    1. 在邏輯應用程式功能表上,選取 [概觀]

    2. 在 [概觀] 窗格的工具列上,選取 [停止]

  2. 在邏輯應用程式功能表的 [開發工具] 之下,選取 [進階工具]

  3. 在 [進階工具] 窗格上,選取 [開始],便能開啟邏輯應用程式的 Kudu 環境。

  4. 在 Kudu 工具列上,開啟 [偵錯主控台] 功能表,並選取 [CMD]

    主控台視窗隨即開啟,您便能使用命令提示字元瀏覽至套件組合資料夾。 或者,您可以瀏覽出現在主控台視窗上方的目錄結構。

  5. 瀏覽至下列資料夾,其中包含現有套件組合的版本化資料夾:

    ...\home\data\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows

  6. 刪除現有套件組合的版本資料夾。 在主控台視窗中,您可以執行此命令,其中請以現有的版本取代 {bundle-version}

    rm -rf {bundle-version}

    例如:rm -rf 1.1.3

    提示

    如果您收到「權限遭拒」「使用中的檔案」之類的錯誤,請重新整理瀏覽器中的頁面,然後再次嘗試先前的步驟,直到資料夾刪除為止。

  7. 在 Azure 入口網站 中,返回邏輯應用程式及其 [概] 頁面,然後選取 [重新啟動]。

    入口網站會自動取得並使用最新的套件組合。

下一步