新增對應來使用 Azure Logic Apps 以進行工作流程中的轉換
適用於:Azure Logic Apps (使用量 + 標準)
轉換 XML 和 Liquid 等工作流程動作需要對應來執行其工作。 例如,轉換 XML 動作需要對應才能在格式之間轉換 XML。 對應是 XML 文件,其會使用可延伸樣式表單語言轉換 (XSLT) 語言,來描述如何將資料從 XML 轉換成另一種格式,並具有 .xslt 副檔名。 對應包含來源 XML 結構描述做為輸入,以及目標 XML 結構描述做為輸出。 您可以定義基本轉換,例如,在不同文件之間複製名稱和位址。 或者,您可以使用內建的對應作業,建立更複雜的轉換。 您可以操作或控制資料,方法為使用不同的內建功能,例如字串操作、條件式協議、算術運算式、日期時間格式器,甚至迴圈建構。
例如,假設您定期收到客戶的 B2B 訂單或發票,而該客戶使用 YearMonthDay 日期格式 (YYYYMMDD)。 不過,您的組織使用 MonthDayYear 日期格式 (MMDDYYYY)。 您可以定義並使用對應,先將 YYYYMMDD 格式轉換為 MMDDYYYY 格式,然後再將訂單或發票儲存在您的客戶活動資料庫中。
本指南會說明如何為工作流程新增要使用的對應。 您可以將對應新增至連結的整合帳戶,或如果您有標準邏輯應用程式,您可以直接將對應新增至邏輯應用程式資源。
必要條件
Azure 帳戶和訂用帳戶。 如果您還沒有訂閱,則請 註冊免費的 Azure 帳戶。
您要新增的對應。 若要建立對應,您可以使用下列工具:
Visual Studio Code 和 Data Mapper 延伸模組。 若要從工作流程呼叫以 Data Mapper 建立的對應,您必須使用名為 使用 Data Mapper XSLT 進行轉換 的 Data Mapper 作業動作,而不是名為 轉換 XML 的 XML 作業動作。 如需詳細資訊,請參閱 使用 Visual Studio Code 建立資料轉換的對應。
Visual Studio 2019 和 Microsoft Azure Logic Apps 企業整合工具延伸模組。
Visual Studio 2015 和適用於 Visual Studio 2015 2.0 的 Microsoft Azure Logic Apps 企業整合工具延伸模組。
注意
請勿將 Microsoft Azure Logic Apps 企業整合工具延伸模組與 BizTalk Server 延伸模組一起安裝。 安裝這兩個延伸模組可能產生未預期的行為。 請確定您只安裝其中一個延伸模組。
在高解析度監視器上,您可能在 Visual Studio 中遇到地圖設計工具顯示問題。 若要解決此顯示問題,請以 DPI 非識別模式重新啟動 Visual Studio,或新增 DPIUNAWARE 登錄值。
如需詳細資訊,請檢閱本文中的建立對應一節。
無論您是使用取用或標準邏輯應用程式工作流程,都需要企業整合帳戶資源。 當您想要定義及儲存用於企業整合和 B2B 工作流程的成本時,通常需要此資源。
重要
若要共同作業,您的企業整合帳戶和邏輯應用程式資源必須存在於相同的 Azure 訂用帳戶和 Azure 區域中。
如果您正在處理取用邏輯應用程式工作流程,則您需要連結至邏輯應用程式資源的企業整合帳戶。
如果您正在處理標準邏輯應用程式工作流程,您可以根據下列情節,將企業整合帳戶連結至邏輯應用程式資源、直接上傳對應至邏輯應用程式資源,或兩者:
如果您的企業整合帳戶已經含有需要或想要使用的成品,您可以將該企業整合帳戶連結至您想要在其中使用成品的多個標準邏輯應用程式資源。 如此一來,您就不需要將對應上傳至每一個個別邏輯應用程式。 如需詳細資訊,請參閱將邏輯應用程式資源連結至企業整合帳戶。
Liquid 內建連接器可讓您選取您先前上傳至邏輯應用程式資源或連結整合帳戶的對應,但無法同時選取兩者。
因此,如果您沒有或不需要企業整合帳戶,則可以使用上傳選項。 否則,您可以使用連結選項。 不管怎樣,您都可以在相同邏輯應用程式資源的所有子工作流程中使用這些成品。
取用和標準工作流程支援參考外部組件的 XSLT 對應,這可讓您直接從 XSLT 對應呼叫自訂 .NET 程式碼。 若要支援這項功能,取用工作流程也有下列需求:
您需要 64 位元組件。 轉換服務會執行 64 位元流程,因此不支援 32 位元組件。 如果您具有 32 位元組件的原始程式碼,請將程式碼重新編譯成 64 位元組件。 如果您沒有原始程式碼,但已從協力廠商提供者取得二進位檔案,請從該提供者取得 64 位元版本。 例如,有些廠商在同時具有 32 位元和 64 位元版本的套件中提供組件。 如果您有選項,請改用 64 位元版本。
您必須依特定順序將元件和對應上傳至您的整合帳戶。 務必首先上傳您的組件,然後上傳參考該組件的對應。
如果您的組件或對應為 2 MB 或更小,您可以「直接」從 Azure 入口網站將您的組件和對應新增到您的整合帳戶。
如果您的組件大於 2 MB,但未大於組件的大小限制,您需要 Azure 儲存體帳戶和 Blob 容器,可以在其中上傳組件。 稍後,您就可以在將組件新增到您的企業整合帳戶時提供該容器位置。 針對這項工作,下表說明您需要的項目:
項目 說明 Azure 儲存體帳戶 在此帳戶中,為您的組件建立 Azure Blob 容器。 了解如何建立儲存體帳戶。 Blob 容器 在此容器中,您可以上傳您的組件。 當您將組件新增到您的整合帳戶時,您也需要此容器的內容 URI 位置。 了解如何建立 Blob 容器。 Azure 儲存體總管 此工具可協助您更輕鬆地管理儲存體帳戶與 Blob 容器。 若要使用 [儲存體總管],請下載並安裝 Azure 儲存體總管。 接著,依照開始使用儲存體總管 [儲存體總管] 連線到您的儲存體帳戶。 若要深入了解,請參閱快速入門:使用 Azure 儲存體總管在物件儲存體中建立 Blob。
或者,在 Azure 入口網站中,選取您的儲存體帳戶。 從您的儲存體帳戶功能表,選取 [儲存體總管]。若要新增較大的對應,您可以使用 Azure Logic Apps REST API - 對應。 針對標準工作流程,目前無法使用 Azure Logic Apps REST API。
限制
限制適用於每個企業整合帳戶的成品數目,例如對應。 如需詳細資訊,請檢閱 Azure Logic Apps 的限制和設定資訊。
根據您使用的是取用或標準邏輯應用程式工作流程,適用下列限制:
標準工作流程
支援 XSLT 1.0、2.0 和 3.0。
沒有限制可以對應檔案大小。
取用工作流程
Azure Logic Apps 會配置有限的記憶體來處理 XML 轉換。 如果您建立取用工作流程,且您的對應或承載轉換具有高記憶體使用量,這類轉換可能會失敗,導致記憶體不足錯誤。 若要避免此情節,請考慮下列選項:
編輯您的對應或承載,以減少記憶體使用量。
建立 標準邏輯應用程式工作流程,它會在單一租用戶 Azure Logic Apps 中執行,並為計算和記憶體資源提供專用且彈性的選項。
建立對應
您可以使用 Visual Studio Code 搭配資料對應延伸模組,或使用 Microsoft Azure Logic Apps Enterprise 企業整合工具延伸模組的 Visual Studio 來建立對應。
Visual Studio Code
當您使用 Visual Studio Code 和 Data Mapper 延伸模組建立對應時,您可以從工作流程呼叫這些對應,但只能使用名為 使用 Data Mapper XSLT 進行轉換 的 Data Mapper 作業動作,而不是名為 轉換 XML 的 XML 作業動作。 如需詳細資訊,請參閱 使用 Visual Studio Code 建立資料轉換的對應。
Visual Studio
當您使用 Visual Studio 建立對應時,您必須使用下列其中一個工具建立整合專案:
Visual Studio 2019 和 Microsoft Azure Logic Apps 企業整合工具延伸模組
Visual Studio 2015 和適用於 Visual Studio 2015 2.0 的 Microsoft Azure Logic Apps 企業整合工具延伸模組。
在整合專案中,您可以建置整合對應檔案,此檔案可讓您以視覺化方式在兩個 XML 結構描述檔案之間對應項目。 這些工具提供下列對應功能:
您可以使用圖形化對應,其中會顯示您所建立的所有關聯性和連結。
您可以在用來建立對應的 XML 結構描述之間建立直接資料複本。 適用於 Visual Studio 的企業整合 SDK 包括一個對應程式,讓下列工作就像繪製線條將來源 XML 結構描述中的元素與目標 XML 結構描述中的其對應項目連線一樣簡單。
有多個對應的作業或函式可供使用,包括字串函式、日期時間函式等等。
若要新增範例 XML 訊息,您可以使用對應測試功能。 只需一個手勢,您即可測試已建立的對應,並檢閱產生的輸出。
建置專案之後,您將取得 XSLT 文件。
您的對應必須具有以下屬性,以及包含呼叫組件程式碼的 CDATA
區段:
name
是自訂組件名稱。namespace
是組件中包含自訂程式碼的命名空間。
下列範例會顯示一個對應,它會參考名為 XslUtilitiesLib 的組件,並從組件呼叫 circumference
方法。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
<msxsl:assembly name="XsltHelperLib"/>
<msxsl:using namespace="XsltHelpers"/>
<![CDATA[public double circumference(int radius){ XsltHelper helper = new XsltHelper(); return helper.circumference(radius); }]]>
</msxsl:script>
<xsl:template match="data">
<circles>
<xsl:for-each select="circle">
<circle>
<xsl:copy-of select="node()"/>
<circumference>
<xsl:value-of select="user:circumference(radius)"/>
</circumference>
</circle>
</xsl:for-each>
</circles>
</xsl:template>
</xsl:stylesheet>
新增參考的組件
取用邏輯應用程式資源支援會從對應參考外部組件,這可讓您直接從 XSLT 對應呼叫自訂 .NET 程式碼。
在 Azure 入口網站的搜尋方塊中輸入 [整合帳戶],然後選取 [整合帳戶]。
選取要將組件新增至其中的整合帳戶。
在整合帳戶的功能表上,選取 [概觀]。 在 [設定] 底下,選取 [組件]。
在 [組件] 窗格工具列上,選取 [新增]。
視您的組件檔案大小而定,依照未超過 2 MB 或超過 2 MB 但小於 8 MB 的步驟上傳組件。 針對整合帳戶中的組件數量限制,請檢閱 Azure Logic Apps 的限制與設定。
注意
如果變更您的組件,您也必須更新對應,不論對應是否有變更。
新增大小未超過 2 MB 的組件
在 [新增組件] 下,輸入您的組件名稱。 維持選取 [小型檔案]。 在 [組件] 方塊旁邊,選取資料夾圖示。 尋找並選取您要上傳的組件。
在您選取組件之後,[組件名稱] 屬性會自動顯示組件的檔案名稱。
完成時,選取確定。
當您的組件完成上傳之後,組件會出現在 [組件] 清單中。 在整合帳戶的 [概觀] 窗格上,於 [成品] 下,已上傳的組件也會出現。
新增大小超過 2 MB 的組件
若要新增較大的組件,您可以在您的 Azure 儲存體帳戶中將您的組件上傳到 Azure Blob 容器。 新增組件的步驟取決於您的 Blob 容器是否包含公用讀取權限。 因此,請先依照下列步驟檢查您的 Blob 容器是否有公用讀取權:為 Blob 容器設定公用存取層級
檢查容器存取層級
開啟 [Azure 儲存體總管]。 在 [總管] 視窗中,展開您的 Azure 訂用帳戶 (若尚未展開)。
展開 [儲存體帳戶]> {your-storage-account} > [Blob 容器]。 選取您的 Blob 容器。
從 Blob 容器的快顯功能表,選取 [設定公用存取層級]。
如果您的 Blob 容器至少具有公用存取權,則請選擇 [取消],然後遵循此頁面稍後的下列步驟:上傳到具有公用存取權的容器
如果您的 Blob 容器沒有公用存取權,則請選擇 [取消],然後遵循此頁面稍後的下列步驟:上傳到沒有公用存取權的容器
上傳到具有公用存取權的容器
將組件上傳到您的儲存體帳戶。 在右側視窗中,選取 [上傳]。
完成上傳之後,請選取您的已上傳組件。 在工具列上,選取 [複製 URL] 以複製組件的 URL。
返回 Azure 入口網站,其中 [新增組件] 窗格已開啟。 輸入您的組件名稱。 選取 [大型檔案 (大於 2MB)]。
現在會出現 [內容 URI] 方塊,而非 [組件] 方塊。
在 [內容 URI] 方塊中,貼上您的組件 URL。 尋找並新增您的組件。
在您的組件完成上傳之後,組件會出現在 [組件] 清單中。 在整合帳戶的 [概觀] 窗格上,於 [成品] 下,已上傳的組件也會出現。
上傳到沒有公用存取權的容器
將組件上傳到您的儲存體帳戶。 在右側視窗中,選取 [上傳]。
完成上傳之後,為您的組件產生共用存取簽章 (SAS)。 從組件的快顯功能表,選取 [取得共用存取簽章]。
在 [共用存取簽章] 窗格中,選取 [產生容器層級共用存取簽章 URI]>[建立]。 產生 SAS URL 之後,請選取 [URL] 方塊旁的 [複製]。
返回 Azure 入口網站,其中 [新增組件] 窗格已開啟。 輸入您的組件名稱。 選取 [大型檔案 (大於 2MB)]。
現在會出現 [內容 URI] 方塊,而非 [組件] 方塊。
在 [內容 URI] 方塊中,貼上您先前產生的 SAS URI。 尋找並新增您的組件。
在您的組件完成上傳之後,組件會出現在 [組件] 清單中。 在整合帳戶的 [概觀] 頁面上,於 [成品] 下,已上傳的組件也會出現。
新增對應
如果您使用取用工作流程,則必須將對應新增至連結的企業整合帳戶。
如果您使用標準工作流程,您有下列選項:
將對應新增至連結的企業整合帳戶。 您可以跨多個標準邏輯應用程式資源及其子工作流程共用對應和企業整合帳戶。
將對應直接新增至邏輯應用程式資源。 不過,您只能在相同的邏輯應用程式資源中跨子工作流程共用該對應。
將對應新增至企業整合帳戶
在 Azure 入口網站 中,使用您的 Azure 帳戶認證登入。
在 Azure 入口網站的搜尋方塊中輸入整合帳戶,然後選取 [企業整合帳戶]。
尋找並選取您的整合帳戶。
在企業整合帳戶的導覽功能表,選取 [設定] 下的 [對應]。
在 [對應] 窗格工具列上,選取 [新增]。
針對取用工作流程,根據您的對應檔案大小,現在請遵循步驟,上傳最多 2 MB 或大於 2 MB 的對應。
新增大小未超過 2 MB 的對應
在 [新增對應] 窗格上,輸入對應的唯一名稱。
在 [對應類型] 底下,選取類型,例如:Liquid、XSLT、XSLT 2.0 或 XSLT 3.0。
在 [對應] 方塊旁邊,選取資料夾圖示。 選取要上傳的對應。
若將 Name 屬性留白,在您選取對應檔案之後,對應的檔案名稱會自動出現在該屬性中。
完成時,選取確定。
在您的對應檔案完成上傳之後,對應會出現在 [對應] 清單中。 在整合帳戶的 [概觀] 頁面上,於 [成品] 下,已上傳的對應也會出現。
新增大小超過 2 MB 的對應
若要為取用工作流程新增較大的對應,請使用 Azure Logic Apps REST API - 對應。
新增對應至標準邏輯應用程式資源
只有在您想要直接將對應新增至標準邏輯應用程式資源時,才適用下列步驟。 否則,請將對應新增至您的整合帳戶。
Azure 入口網站
在邏輯應用程式資源的功能表上,在 [Artifacts] 下選取 [對應]。
在 [對應] 窗格工具列上,選取 [新增]。
在 [新增對應] 窗格上,輸入對應的唯一名稱,並包括 .xslt 副檔名。
在 [對應] 方塊旁邊,選取資料夾圖示。 選取要上傳的對應。
完成時,選取確定。
在您的對應檔案完成上傳之後,對應會出現在 [對應] 清單中。 在整合帳戶的 [概觀] 頁面上,於 [成品] 下,已上傳的對應也會出現。
Visual Studio Code
在邏輯應用程式專案的結構中,開啟 [成品] 資料夾,然後開啟 [對應] 資料夾。
在 [對應] 資料夾中,新增您的對應。
編輯對應
若要更新現有的對應,您必須上傳包含您想要之變更的新對應檔案。 不過,您可以先下載現有的對應來編輯。
在 Azure 入口網站中,開啟您的整合帳戶 (若尚未開啟)。
在整合帳戶的功能表上,選取 [設定] 下的 [對應]。
在 [對應] 窗格開啟之後,選取您的對應。 若要先下載並編輯對應,請在 [對應] 窗格工具列上選取 [下載],然後儲存對應。
當您準備好上傳已更新的對應時,請在 [對應] 窗格上選取您要更新的對應。 在 [對應] 窗格工具列上,選取 [更新]。
尋找並選取您要上傳的已更新對應。
在您的對應檔案完成上傳之後,已更新的對應會出現在 [對應] 清單中。
刪除對應
在 Azure 入口網站中,開啟您的整合帳戶 (若尚未開啟)。
在整合帳戶的功能表上,選取 [設定] 下的 [對應]。
在 [對應] 窗格開啟之後,選取您的對應,然後選取 [刪除]。
若要確認您要刪除該對應,請選取 [是]。