適用於:Azure Logic Apps (使用量 + 標準)
本文說明如何使用 FTP 連接器,從 Azure Logic Apps 中的工作流程存取您的檔案傳輸通訊協定 (FTP) 伺服器。 您可以建立自動化工作流程,這些工作流程會在 FTP 伺服器或其他系統中的事件觸發時執行,並執行動作來管理 FTP 伺服器上的檔案。
例如,您的工作流程可以從 FTP 觸發程序開始,監視和回應 FTP 伺服器上的事件。 觸發程序會讓輸出可供工作流程中的動作使用。 您的工作流程可以使用下列特定工作,執行透過 FTP 伺服器帳戶建立、傳送、接收和管理檔案的 FTP 動作:
- 監視檔案何時新增或變更。
- 建立、複製、刪除、列出及更新檔案。
- 取得檔案中繼資料和內容。
- 管理資料夾。
如果您是 Azure Logic Apps 的新手,請參閱下列檔:
連接器技術參考
根據邏輯應用程式類型和主機環境,FTP 連接器會有不同的版本。
| 邏輯應用程式類型 (計劃) | 環境 | 連接器版本 |
|---|---|---|
| 使用量 | 多租用戶 Azure Logic Apps | 受控連接器 (與 [共用] 篩選一起出現在連接器資源庫中)。 如需詳細資訊,請參閱: - FTP 受控連接器參考 - Azure Logic Apps 的受控連接器 |
| Standard | 單一租用戶 Azure Logic Apps 和 App Service 環境 v3 (僅限 Windows 方案) | - 受控連接器 (與 [共用] 篩選一起出現在連接器資源庫中)。 - 內建連接器,會出現在連接器資源庫中的 [內建] 篩選下,且以服務提供者為基礎 (部分機器翻譯)。 內建連接器可以使用連接字串直接存取 Azure 虛擬網路。 如需詳細資訊,請參閱: - FTP 受控連接器參考 - FTP 內建連接器操作 - Azure Logic Apps 的受控連接器 - Azure Logic Apps 中的內建連接器 |
限制
容量和輸送量
適用於標準工作流程的內建連接器:
根據預設,FTP 動作可以讀取或寫入 200 MB 或更小的檔案。 目前,FTP 內建連接器不支援區塊化。
適用於消耗型和標準工作流程的管理連接器
根據預設,FTP 動作可以讀取或寫入 50 MB 或更小的檔案。 為了處理大於 50 MB 的檔案,FTP 動作支援訊息區塊化。 取得檔案內容動作會隱含地使用區塊化。
保留「上次修改」時間戳記時,FTP 受控或 Azure 裝載連接器的觸發程序可能會遇到遺失、不完整或延遲的結果。 另一方面,標準邏輯應用程式工作流程中的 FTP 內建連接器觸發程序沒有這項限制。 如需詳細資訊,請參閱 FTP 連接器的 限制。
FTP 受管理連接器可以建立有限數量的 FTP 伺服器連線。 此限制是以邏輯應用程式資源所在的 Azure 區域中的連線容量為基礎。 如果此限制在取用邏輯應用程式工作流程中造成問題,請建立使用 FTP 內建連接器的標準邏輯應用程式工作流程。
- 內建和受管理的 FTP 連接器都僅支援透過 FTPS 的明確 FTP,這是 TLS 的延伸。 這兩個連接器版本都不支援隱含 FTPS。
先決條件
Azure 帳戶和訂用帳戶。 如果您沒有 Azure 訂用帳戶,請先註冊免費的 Azure 帳戶。
您要在其中存取 FTP 帳戶的邏輯應用程式工作流程。 若要使用 FTP 觸發程序啟動工作流程,必須從空白工作流程開始。 若要使用 FTP 動作,請使用其他觸發程序來啟動工作流程,例如週期觸發程序。
如需適用於 FTP 受控連接器和內建連接器的更多需求,請參閱 FTP 受控連接器參考 - 需求。
已知問題
根據預設,接受和傳回陣列的觸發程式通常具有已啟用的 Split on 設定。 觸發程序會透過在內部建立個別的工作流程執行個體來處理每個陣列項目,以自動對陣列進行拆批處理。 所有工作流程執行個體都會平行執行,以便同時處理陣列項目。
啟用 分割開啟 設定後,管理型 連接器觸發程式會將所有陣列項目的輸出傳回為列表。 任何參照這些輸出的後續動作都必須先將這些輸出處理為清單。 若要個別處理每個陣列項目,您可以新增額外的動作。 例如,若要逐一查看這些陣列項目,您可以使用 For each 迴圈。 針對只會傳回中繼資料或屬性的觸發程序,請先使用取得陣列項目中繼資料的動作,然後使用動作來取得項目內容。
您必須只針對受控連接器觸發程序套用此方法,而不是針對內建連接器觸發程序,這些觸發程序會在啟用 Split on 設定的情況下,每次傳回一個陣列項目的輸出。
例如,假設您有名為 [新增或修改檔案時 (僅限屬性)] 的受控連接器觸發程序,會以陣列形式傳回新的或更新檔案的中繼資料或屬性。 若要個別取得每個檔案的中繼資料,您可以使用逐一查看陣列的 For each 迴圈。 在此迴圈中,以指定的順序使用下列受控連接器動作:
取得檔案中繼資料以取得每個檔案的中繼資料。
取得檔案內容動作以取得每個檔案的內容。
新增 FTP 觸發程序
使用量邏輯應用程式工作流程只能使用 FTP 受控連接器。 不過,標準邏輯應用程式工作流程可以使用 FTP 受控連接器和 FTP 內建連接器。
FTP 受控連接器和內建連接器各自只有一個可用的觸發程序:
受控連接器觸發程序:名為 [新增或修改檔案時 (僅限屬性)] 的 FTP 觸發程序,在 FTP 伺服器上的資料夾中新增或變更一或多個檔案時,會執行使用量或標準邏輯應用程式工作流程。 此觸發程序只會取得檔案屬性或中繼資料,而不是檔案內容。 若要取得檔案內容,您的工作流程可以遵循此觸發程序,並搭配其他FTP動作。
如需詳細資訊,請參閱新增或修改檔案時 (僅限屬性)。
內建連接器觸發程序:名為 [新增或更新檔案時] 的 FTP 觸發程序,在 FTP 伺服器上的資料夾中新增或變更一或多個檔案時,會執行標準邏輯應用程式工作流程。 此觸發程序只會取得檔案屬性或中繼資料,而不是檔案內容。 若要取得內容,您的工作流程可以遵循此觸發程序以及其他FTP動作。 如需詳細資訊,請參閱 新增或更新檔案時。
下列程式會使用 Azure 入口網站。 使用對應的 Azure Logic Apps 延伸模組 for Consumption 或 Standard logic apps,您可以改用下列工具來建立和編輯邏輯應用程式工作流程:
- 取用邏輯應用程式工作流程:Visual Studio Code
- 標準邏輯應用程式工作流程:Visual Studio Code
本節說明下列 FTP 連接器觸發程序的步驟:
-
如果您使用此 FTP 內建觸發程序,則可以使用名為 [取得檔案內容] 的 FTP 內建動作來取得檔案內容,而不需要先使用 [ 取得檔案中繼資料 ] 動作,這與使用 FTP 受控觸發程序時不同。 如需 FTP 內建連接器作業的詳細資訊,請參閱 FTP 內建連接器作業。
此內建 FTP 觸發器不適用於消耗型邏輯應用程式工作流程。
-
如果您使用此 FTP 受管理觸發程序,則必須先使用 [取得檔案中繼資料 ] 動作來取得單一陣列項目,才能對已新增或修改的檔案使用任何其他動作。 此因應措施來自本文稍早所述「分割」設定的已知問題。
新增內建連接器觸發器
若要將內建的連接器觸發器新增至標準工作流程:
在 Azure 入口網站中,開啟您的邏輯應用程式資源。
在資源側邊欄功能表的 [工作流程] 底下,選取 [工作流程],然後選取您的空白工作流程,這會在設計工具中開啟。
在設計工具上,選取 [新增觸發程式]。
請遵循 一般步驟 來新增 FTP 觸發程序 當檔案被添加或更新時(預覽版)。
提供您的連線資訊。 當您完成時,請選取 [ 新建]。
附註
根據預設,此連接器會以文字格式傳送檔案。 若要以二進位格式傳送檔案,例如,使用編碼的位置和時間,請選取二進位傳輸選項。
觸發程式資訊窗格出現之後,在 [資料夾路徑 ] 方塊中,指定您要監視之資料夾的路徑。
完成後,請儲存您的工作流程。
當您儲存工作流程時,Azure 會將您的更新發佈至 Azure 中已部署和即時邏輯應用程式。 只有觸發程序時,您的工作流程只會根據指定的排程檢查 FTP 伺服器。 您必須新增回應觸發程式的動作,並對觸發程式輸出執行某些動作,如後面的各節所述。
新增管理連接器觸發器
若要將受控連接器觸發程序新增至使用量或標準工作流程:
在 Azure 入口網站中,尋找並開啟您的邏輯應用程式資源。
根據您使用的是消耗型或標準型邏輯應用程式:
使用量:在資源側邊欄功能表的 [開發工具] 底下,選取設計工具以開啟工作流程。
標準:在資源側邊欄功能表的 工作流程 下,選取 工作流程。 選取空白工作流程,該工作流程會在設計工具中開啟。
在工作流程設計工具上,選取 [新增觸發程序]。
請遵循一般步驟,以新增 在新增或修改欄位時 (僅限屬性) 的 FTP 觸發程序。
提供您的連線資訊。 當您完成時,請選取 [ 新建]。
附註
根據預設,此連接器會以文字格式傳送檔案。 若要以二進位格式傳送檔案,例如,使用編碼的位置和時間,請選取二進位傳輸選項。
當觸發資訊窗格開啟時,尋找您要監控新增或已編輯檔案的資料夾。
在 [資料夾] 方塊中,選取資料夾圖示以檢視資料夾目錄。
選取向右箭頭 (>)。 瀏覽至您想要的資料夾,然後選取資料夾。
所選取的資料夾會出現在 [資料夾] 方塊中。
完成後,請儲存您的工作流程。
當您儲存工作流程時,Azure 會將您的更新發佈至已部署和即時邏輯應用程式。 只有觸發程序時,您的工作流程只會根據指定的排程檢查 FTP 伺服器。 您必須新增回應觸發程式的動作,並對觸發程式輸出執行某些動作,如後面的各節所述。
新增 FTP 動作
使用量邏輯應用程式工作流程只能使用 FTP 受控連接器。 標準邏輯應用程式工作流程可以使用 FTP 受控連接器和 FTP 內建連接器。 每個版本都有多個動作。 例如,受控和內建連接器版本都有自己的動作來取得檔案中繼資料及取得檔案內容。
- 內建連接器動作:這些動作只會在標準邏輯應用程式工作流程中執行。
- 受控連接器動作:這些動作會在使用量或標準邏輯應用程式工作流程中執行。
下列程式會使用 Azure 入口網站。 使用對應的 Azure Logic Apps 延伸模組 for Consumption 或 Standard,您可以改用下列工具來建立和編輯邏輯應用程式工作流程:
- 取用工作流程:Visual Studio Code
- 標準工作流程:Visual Studio Code
使用 FTP 動作之前,您的工作流程必須已經從觸發程序開始,可以是您選擇的任何類型。 例如,您可以使用一般定期內建觸發程序,在特定排程啟動工作流程。
新增和使用 FTP 動作的步驟會因工作流程使用內建連接器還是受管理連接器而有所不同。
內建觸發程序工作流程:描述將內建動作新增至以內建觸發程序開頭的工作流程的步驟。
如果您使用 FTP 內建觸發程序,而且您想要新新增或更新檔案的內容,您可以使用 For each 迴圈來逐一查看觸發程序所傳回的陣列。 然後您只要使用 [取得檔案內容] 動作即可,不需要任何其他媒介動作。 如需 FTP 內建連接器作業的詳細資訊,請參閱 FTP 內建連接器作業。
受管理觸發程序工作流程:說明將受管理動作新增至以受管理觸發程序開頭的工作流程的步驟。
如果您使用 FTP 受控連接器觸發程序,並想要新新增或修改的檔案中的內容,您可以使用 For each 迴圈來逐一查看觸發程序所傳回的陣列。 然後,您必須使用中繼動作,例如名為 [取得檔案中繼資料] 的 FTP 動作,才能使用 [取得檔案內容] 動作。
具有內建觸發程序的工作流程
若要將動作新增至由內建連接器觸發器啟動的標準工作流程:
在 Azure 入口網站中,尋找並開啟您的邏輯應用程式資源。
在資源側邊欄功能表的 工作流程 底下,選取 工作流程。 選取具有FTP內建觸發器的工作流程。
在設計工具上,請遵循下列 一般步驟 ,將名為 [取得檔案內容] 的 FTP 動作新增至您的工作流程。
如有必要,請提供您的連線資訊。 當您完成時,請選取 [ 新建]。
附註
根據預設,此連接器會以文字格式傳送檔案。 若要以二進位格式傳送檔案,例如,使用編碼的位置和時間,請選取二進位傳輸選項。
在開啟的操作資訊窗格中,選取檔案路徑以顯示輸入選項。 選取閃電圖示以開啟動態內容清單。
您現在可以從上述觸發程序選取輸出。
在動態內容清單中,於 [新增或更新檔案時] 底下,選取 [檔案路徑]。
[檔案路徑] 屬性現在會參考 [檔案路徑] 觸發程序輸出。
新增您工作流程所需的任何其他動作。
完成後,請儲存您的工作流程。 在設計工具的工具列上,選取 [儲存]。
具有受控觸發程序的工作流程
若要將動作新增至由受控連接器觸發程序開始的使用量或標準型工作流程:
在 Azure 入口網站中,尋找並開啟您的邏輯應用程式資源。
根據您使用的是消耗型或標準型邏輯應用程式:
使用量:在資源側邊欄功能表的 [開發工具] 底下,選取設計工具以開啟工作流程。
標準:在資源側邊欄功能表的 工作流程 下,選取 工作流程。 選取以 FTP 受控連接器觸發程序開始的工作流程。 在工作流程側邊欄功能表中,選取設計器以開啟工作流程。
在設計工具上,請遵循下列 一般步驟 ,將名為 [取得檔案中繼資料] 的 FTP 動作新增至您的工作流程。
如有必要,請提供您的連線資訊。 當您完成時,請選取 [ 新建]。
附註
根據預設,此連接器會以文字格式傳送檔案。 若要以二進位格式傳送檔案,例如,使用編碼的位置和時間,請選取二進位傳輸選項。
在開啟的動作資訊窗格中,選取 [檔案 ] 以顯示輸入選項。 選取閃電圖示以開啟動態內容清單。
您現在可以從上述觸發程序選取輸出。
在動態內容清單中,於 [新增或修改檔案時 (僅限屬性)] 底下選取 [檔案識別碼清單]。
檔案屬性現在會參考檔案識別碼清單觸發程序輸出。
在設計工具上,請遵循下列 一般步驟 ,將名為 [取得檔案內容] 的 FTP 動作新增至您的工作流程。
在出現的動作資訊窗格中,選取 [ 檔案 ] 內以顯示輸入選項。 選取閃電圖示以開啟動態內容清單。
您現在可以從上述觸發程序或動作選取輸出。
在動態內容清單中,於 [取得檔案中繼資料] 底下,選取 [識別碼]。
檔案屬性現在會參考識別碼動作輸出。
新增您工作流程所需的任何其他動作。
完成後,請儲存您的工作流程。 在設計工具的工具列上,選取 [儲存]。
測試您的工作流程
若要檢查您的工作流程是否傳回您預期的內容,請新增另一個動作,以從新增或更新檔案傳送內容。 此範例使用名為 [傳送電子郵件] 的 Office 365 Outlook 動作。
內建觸發程序和動作的工作流程
若要將 Office 365 Outlook 動作新增至標準工作流程:
在設計工具的 [ 取得檔案內容 ] 動作下,遵循下列 一般步驟 ,將名為 [傳送電子郵件至 您的工作流程] 的動作新增。
如果您有 Outlook.com 帳戶,請新增 Outlook.com 傳送 電子郵件 動作。
如有必要,請登入您的電子郵件帳戶。
在動作資訊窗格中,提供必要的值,並包含您要測試的任何其他參數或屬性。
例如,您可以包含 [取得檔案內容] 動作的 [檔案內容] 輸出。 若要尋找此輸出,請遵循下列步驟:
在 取得檔案內容 動作中,選取 正文 以顯示輸入選項。 選取閃電圖示以開啟動態內容清單。 從此清單中,在 [取得檔案內容] 底下,選取 [檔案內容]。
在動態內容清單中,選取 [取得檔案內容] 底下的 [檔案內容]。
Body 屬性現在包含 檔案內容 動作輸出。
儲存您的工作流程。
若要執行並觸發工作流程,請遵循下列步驟:
在設計工具工具列上,選取 [執行>執行]。
將檔案新增至工作流程所監視的 FTP 資料夾。
具有受控觸發程序和動作的工作流程
若要將 Office 365 Outlook 功能新增至您的 Consumption 或 Standard 工作流程:
在設計工具的 [ 取得檔案內容 ] 動作下,遵循下列 一般步驟 ,將名為 [傳送電子郵件至 您的工作流程] 的動作新增。
如果您有 Outlook.com 帳戶,請新增 Outlook.com 傳送 電子郵件 動作。
如有必要,請登入您的電子郵件帳戶。
在動作資訊方塊中,提供必要值,並包含您想要測試的任何其他參數或屬性。
例如,您可以包含 [取得檔案內容] 動作的 [檔案內容] 輸出。 若要尋找此輸出,請遵循下列步驟:
在 [ 取得檔案內容 ] 動作中,選取 [內文 ] 方塊內以顯示輸入選項。 選取閃電圖示以開啟動態內容清單。 從此清單中,在 [取得檔案內容] 底下,選取 [檔案內容]。
在動態內容清單中,選取 [取得檔案內容] 底下的 [檔案內容]。
Body 屬性現在包含 檔案內容 動作輸出。
儲存您的邏輯應用程式工作流程。
若要執行並觸發工作流程,請遵循下列步驟:
在設計工具工具列上,選取 [執行>執行]。
將檔案新增至工作流程所監視的 FTP 資料夾。