使用標準工作流程中的架構搭配 Azure Logic Apps 撰寫 XML (預覽)
適用於:Azure Logic Apps (標準)
重要
此功能處於預覽狀態,且受限於 Microsoft Azure 預覽版的補充使用規定。
在企業整合企業對企業(B2B)或 BizTalk 移轉案例中,您可能必須從 JSON 數據建立 XML 檔。 您的標準邏輯應用程式工作流程可以使用名為 Compose XML 搭配架構的動作來撰寫 XML 檔,這需要 XSD 架構。
例如,假設您收到來自 Azure 服務匯流排 的 JSON 數據,且需要以 XML 格式將數據傳送至 FTP 伺服器。 您可以使用 JSON 資料作為撰寫 XML 的內容 搭配架構 動作,並使用源數據建立新的 XML 檔。 然後,您可以將這個 XML 數據提交至 FTP 伺服器。
限制
取用 邏輯應用程式資源和工作流程目前尚不支援此動作。
必要條件
Azure 帳戶和訂用帳戶。 如果您還沒有訂閱,則請 註冊免費的 Azure 帳戶。
以觸發程式開頭的標準邏輯應用程式工作流程,讓您可以使用架構動作將 Compose XML 新增至工作流程。
您在其中定義和儲存成品的整合帳戶資源 (例如交易夥伴、合約、憑證等),藉以用於企業整合和 B2B 工作流程。 此資源必須符合下列需求:
與邏輯應用程式資源相同的 Azure 訂閱相關聯。
存在於與邏輯應用程式資源相同的位置或 Azure 區域,而您打算在其中使用 Compose XML 搭配架構 動作。
如果您正在處理 標準邏輯應用程式資源和工作流程,您可以根據下列案例,將整合帳戶連結至邏輯應用程式資源、直接將 XSD 架構上傳至邏輯應用程式資源,或兩者:
如果您的企業整合帳戶已經含有需要或想要使用的成品,您可以將該企業整合帳戶連結至您想要在其中使用成品的多個標準邏輯應用程式資源。 如此一來,您就不需要將 XSD 架構上傳至每個個別邏輯應用程式。 如需詳細資訊,請參閱將邏輯應用程式資源連結至企業整合帳戶。
如果您沒有整合帳戶,或只打算在相同邏輯應用程式資源內的多個工作流程之間使用構件,您可以使用 Azure 入口網站 或 Visual Studio Code,直接將架構新增至邏輯應用程式資源。
因此,如果您沒有或不需要企業整合帳戶,則可以使用上傳選項。 否則,您可以使用連結選項。 不管怎樣,您都可以在相同邏輯應用程式資源的所有子工作流程中使用這些成品。
要搭配 撰寫 XML 搭配架構動作使用的 XSD 架構 。 請確定此架構包含根元素,看起來像下列範例:
<xs:element name="Root"> <....> </xs:element>
新增具有架構動作的 Compose XML
在 Azure 入口網站中,於設計工具中開啟您的標準邏輯應用程式和工作流程。
如果您有不具觸發程序的空白工作流程,請遵循下列一般步驟來新增您想要的任何觸發程序。 否則,請繼續下一個步驟。
此範例使用要求觸發程序。
在您要在其中新增 具有架構 動作的 Compose XML 工作流程中的步驟下, 遵循下列一般步驟來新增名為 Compose XML 與架構的動作。
從 [ 來源 ] 清單中,選取您上傳 XSD 架構的位置, 也就是您的 LogicApp 資源或 IntegrationAccount。
從 [ 名稱] 清單中,選取您的 XSD 架構。
選取架構之後,在 [ 名稱 ] 清單底下,根元素的架構 JSON 輸入參數會動態顯示。
輸入每個元素的值。
若要在工作流程中選取先前作業的輸出,請在 [JSON 架構元素 'Root' ] 區段中選取屬性方塊內,然後選取動態內容清單選項(閃電圖示)。
從動態內容清單中,選取您要針對每個屬性撰寫之內容的令牌。
對於接受陣列的屬性,您可以選取 [ 切換至輸入整個陣列],這隻適用於數位參數。
完成後,請儲存您的工作流程。
您現在已完成使用架構動作設定 Compose XML。 在真實世界中,您可能會想要將剖析的數據儲存在企業營運 (LOB) 應用程式中,例如 Salesforce。 若要將撰寫的輸出傳送至 Salesforce,請新增 Salesforce 動作。
若要測試撰寫動作,請觸發並執行您的工作流程。 例如,針對 [要求 ] 觸發程式,將要求傳送至觸發程式的端點 URL。
在觸發工作流程之後,以及 JSON 內容可用於撰寫 XML 數據之後,就會執行具有架構動作的 Compose XML。
進階參數
下表說明此動作中可用的進階參數:
參數 | 數值 | Description |
---|---|---|
根節點限定名稱 | <root-node-qualified-name> | 如果架構包含多個未參考的項目定義,則根節點的限定名稱。 |
日期及時間格式 | <date-time-format> | 日期和時間格式規範,例如 'dddd, MMM dd yyyy HH:mm:ss: zzz'。 |
XML 寫入器設定省略 XML 宣告 | [否] 或 [是] | 是否要省略 XML 宣告。 |
XML 寫入器設定屬性上的新行 | [否] 或 [是] | 是否要在新行上寫入屬性。 |
XML 寫入器設定新行處理 | - Entitize - None - Replace |
指定如何處理換行符。 |
XML 寫入器設定新的行字元 | <new-line-string> | 用於分行符號的字元字串。 |
XML 寫入器設定縮排字元 | <縮排字元> | 要用於縮排的字元字串。 |
XML 寫入器設定縮排 | [否] 或 [是] | 是否縮排專案。 |
XML 寫入器設定編碼 | 各種可用的選項。 | 要使用的文字編碼類型。 |
XML 寫入器設定不會逸出URI屬性 | [否] 或 [是] | 是否不要逸出 URI 屬性。 |
XML 寫入器設定一致性層級 | - Auto - Document - Fragment |
XML 寫入器用來檢查 XML 輸出的一致性層級。 |
XML 寫入器檢查字元 | [否] 或 [是] | 是否確定檔中的所有字元都符合 XML 規格。 |
元素 『root』 的 JSON 架構。 Xmlns | <json-schema-root> | XML 命名空間,用於宣告 XML 檔案中元素的命名空間。 |
元素 『root』 的 JSON 架構。 UserDetails Xmlns | <json-schema-root> | XML 命名空間,用於宣告 XML 檔案中元素的命名空間。 |
元素 『root』 的 JSON 架構。 狀態 Xmlns | <json-schema-root> | XML 命名空間,用於宣告 XML 檔案中元素的命名空間。 |