在 Azure Logic Apps 中編碼和譯碼一般檔案
適用於: Azure Logic Apps(取用 + 標準)
在企業對企業 (B2B) 案例中將 XML 內容傳送至商務夥伴之前,您可能先想要編碼該內容。 如果您收到編碼的 XML 內容,您必須先譯碼該內容。 當您在 Azure Logic Apps 中建置邏輯應用程式工作流程時,您可以使用一般檔案內建連接器動作和一般檔案架構來編碼和譯碼一般檔案,以進行編碼和譯碼。 您可以在多租用戶取用邏輯應用程式工作流程和單一租用戶標準邏輯應用程式工作流程中使用 一般檔案 動作。
雖然沒有 一般檔案 觸發程式可用,但您可以使用任何觸發程式或動作,將來源 XML 內容饋送至您的工作流程。 例如,您可以使用內建連接器觸發程式、適用於 Azure Logic Apps 的受控或 Azure 裝載連接器觸發程式,甚至是另一個應用程式。
本文說明如何將一般檔案編碼和譯碼動作新增至您的工作流程。
- 將一 般檔案 編碼或譯碼動作新增至您的工作流程。
- 選取您想要使用的架構。
如需詳細資訊,請檢閱下列檔:
必要條件
Azure 帳戶和訂用帳戶。 如果您還沒有訂用帳戶, 請註冊免費的 Azure 帳戶。
您想要在其中使用一般檔案動作的邏輯應用程式工作流程空白或現有。
如果您有空白工作流程,請使用任何您想要啟動工作流程的觸發程式。 此範例會使用要求觸發程式。
邏輯應用程式資源和工作流程。 一般檔案作業沒有任何可用的觸發程式,因此您的工作流程必須至少包含觸發程式。 如需詳細資訊,請參閱下列文件:
編碼和譯碼 XML 內容的一般檔案架構。 如需詳細資訊, 請新增架構以搭配 Azure Logic Apps 中的工作流程使用。
根據您正在處理取用或標準邏輯應用程式工作流程,您將需要 整合帳戶資源。 當您想要定義並儲存成品以用於企業整合和 B2B 工作流程時,通常需要此資源。
重要
若要一起運作,您的整合帳戶和邏輯應用程式資源必須存在於相同的 Azure 訂用帳戶和 Azure 區域中。
如果您正在處理取用邏輯應用程式工作流程,邏輯應用程式資源需要 整合帳戶的連結。
如果您正在處理標準邏輯應用程式工作流程,您可以根據下列案例,將邏輯應用程式資源連結至整合帳戶、將架構直接上傳至邏輯應用程式資源,或兩者:
如果您已經有包含所需或想要使用的成品的整合帳戶,您可以將整合帳戶連結至您想要使用成品的多個標準邏輯應用程式資源。 如此一來,您就不需要將架構上傳至每個個別邏輯應用程式。 如需詳細資訊,請參閱 將邏輯應用程式資源連結至整合帳戶。
一 般檔案 內建連接器可讓您選取先前上傳至邏輯應用程式資源或連結整合帳戶的架構,但不能同時上傳至兩者。 然後,您可以在相同邏輯應用程式資源內的所有子工作流程使用此成品。
因此,如果您沒有或需要整合帳戶,您可以使用上傳選項。 否則,您可以使用連結選項。 無論哪種方式,您都可以在相同的邏輯應用程式資源內,跨所有子工作流程使用這些成品。
限制
您想要譯碼的 XML 內容必須以 UTF-8 格式編碼。
在一般檔案架構中,請確定包含的
max count
XML 群組沒有將屬性數目過多設定為大於 1 的值。 避免將屬性值大於 1 的 XML 群組max count
巢狀化在另一個屬性大於 1 的 XML 群組max count
內。當 Azure Logic Apps 剖析一般檔案架構,而且每當架構允許選擇下一個片段時,Azure Logic Apps 會產生該片段的符號和預測。 如果架構允許太多這類建構,例如超過100,000個,架構擴充就會變得過大,這會耗用太多資源和時間。
上傳架構
建立架構之後,您現在必須根據下列案例上傳架構:
如果您正在處理取用邏輯應用程式工作流程, 請將架構新增至整合帳戶。
如果您正在處理標準邏輯應用程式工作流程,您可以將 架構新增至整合帳戶,或 將架構新增至邏輯應用程式資源。
新增一般檔案編碼動作
在 Azure 入口網站 中,如果尚未開啟,請在設計工具中開啟邏輯應用程式工作流程。
如果您的工作流程沒有觸發程式或任何其他工作流程所需的動作,請先新增這些作業。 一般檔案作業沒有任何可用的觸發程式。
此範例會繼續進行名為 「收到 HTTP 要求時」的要求觸發程式。
在工作流程設計工具上,在您想要新增一般檔案動作的步驟下,選取 [ 新增步驟]。
在 [ 選擇作業 搜尋] 方塊底下,選取 [ 內建]。 在搜尋方塊中,輸入 一般檔案。
從動作清單中,選取名為一般檔案編碼的動作。
在動作的 Content 屬性中,依照下列步驟提供觸發程式或先前您想要編碼的動作輸出:
按兩下 [ 內容 ] 方塊內部,讓動態內容清單出現。
從動態內容清單中,選取您想要編碼的一般檔案內容。
在此範例中,從動態內容清單的 [收到 HTTP 要求時] 底下,選取 [本文] 令牌,代表觸發程式的本文內容輸出。
注意
如果 Body 屬性未出現在動態內容清單中,請選取 [收到 HTTP 要求時] 區段卷標旁的 [查看更多]。 您也可以直接在 [內容] 方塊中輸入要編碼的內容。
從 [ 架構名稱] 清單中,選取您的架構。
注意
如果架構清單是空的,您的邏輯應用程式資源不會連結至您的整合帳戶,或您的整合帳戶不包含任何架構檔案。
當您完成時,您的動作看起來會如下所示:
若要將其他選擇性參數新增至動作,請從 [ 新增參數] 列表中選取這些參數 。
參數 數值 Description 空節點產生模式 ForcedDisabled 或 HonorSchemaNodeProperty 或 ForcedEnabled 要用於具有一般檔案編碼之空白節點產生的模式。
對於 BizTalk,一般檔案架構具有可控制空節點產生的屬性。 您可以遵循一般檔案架構的空白節點產生屬性行為,也可以使用此設定來產生或省略空白節點。 如需詳細資訊,請參閱 空白項目的標記。XML 正規化 是 或 否 在一般檔案編碼中啟用或停用 XML 正規化的設定。 如需詳細資訊,請參閱 XmlTextReader.Normalization。 儲存您的工作流程您 在設計師工具列上選取儲存。
新增一般檔案譯碼動作
在 Azure 入口網站 中,如果尚未開啟,請在設計工具中開啟邏輯應用程式工作流程。
如果您的工作流程沒有觸發程式或任何其他工作流程所需的動作,請先新增這些作業。 一般檔案作業沒有任何可用的觸發程式。
此範例會繼續進行名為 「收到 HTTP 要求時」的要求觸發程式。
在工作流程設計工具上,在您想要新增一般檔案動作的步驟下,選取 [ 新增步驟]。
在 [ 選擇作業 搜尋] 方塊底下,選取 [ 內建]。 在搜尋方塊中,輸入 一般檔案。
從動作清單中,選取名為 一般檔案譯碼的動作。
在動作的 Content 屬性中,依照下列步驟提供觸發程式或先前您想要譯碼的動作輸出:
按兩下 [ 內容 ] 方塊內部,讓動態內容清單出現。
從動態內容清單中,選取您想要編碼的一般檔案內容。
在此範例中,從動態內容清單的 [收到 HTTP 要求時] 底下,選取 [本文] 令牌,代表觸發程式的本文內容輸出。
注意
如果 Body 屬性未出現在動態內容清單中,請選取 [收到 HTTP 要求時] 區段卷標旁的 [查看更多]。 您也可以直接在 [內容] 方塊中輸入要編碼的內容。
從 [ 架構名稱] 清單中,選取您的架構。
注意
如果架構清單是空的,您的邏輯應用程式資源不會連結至您的整合帳戶,或您的整合帳戶不包含任何架構檔案。
當您完成時,您的動作看起來會如下所示:
儲存您的工作流程您 在設計師工具列上選取儲存。
您現在已完成設定一般檔案譯碼動作。 在真實世界應用程式中,您可能會想要將譯碼的數據儲存在企業營運 (LOB) 應用程式中,例如 Salesforce。 或者,您可以將譯碼的數據傳送給貿易夥伴。 若要將譯碼動作的輸出傳送至 Salesforce 或您的貿易夥伴,請使用 Azure Logic Apps 中可用的其他連接器:
測試工作流程
使用 Postman 或類似的工具和
POST
方法,將呼叫傳送至要求觸發程式的 URL,該 URL 會出現在要求觸發 程式的 HTTP POST URL 屬性中,並在要求本文中包含您要編碼或譯碼的 XML 內容。工作流程執行完成之後,請移至工作流程的執行歷程記錄,並檢查一般檔案動作的輸入和輸出。
下一步
- 深入了解 企業整合套件