共用方式為


FTP

檔案傳輸協定 (FTP) 是一種標準網路協定,用於在電腦網路上的用戶端和伺服器之間傳輸電腦檔案。 FTP 建立在客戶端-伺服器模型架構之上,並在客戶端和伺服器之間使用單獨的控制和資料連線。

此連接器適用於以下產品和區域:

服務 Class Regions
副駕駛工作室 標準 除下列區域外的所有 Power Automate 區域
     - 美國政府(海灣合作委員會高中)
     - 美國國防部 (DoD)
邏輯應用程式 標準 所有 Logic Apps 區域
Power Apps 標準 除下列區域外的所有 Power Apps 區域
     - 美國政府(海灣合作委員會高中)
     - 美國國防部 (DoD)
Power Automate(自動化服務) 標準 除下列區域外的所有 Power Automate 區域
     - 美國政府(海灣合作委員會高中)
     - 美國國防部 (DoD)
連接器中繼資料
Publisher Microsoft

已知問題與限制

  • 本文僅說明 FTP 受控連接器的作業,適用於 Azure Logic Apps、Power Automate 和 Power Apps。 FTP 內建 連接器僅適用於 Azure Logic Apps 中的標準邏輯應用程式工作流程。 如需 Azure Logic Apps 中 FTP 內建連接器的詳細資訊,請檢閱 從 Azure Logic Apps 中的工作流程連線到 FTP 伺服器

  • FTP 觸發程式現在只會傳回中繼資料或屬性,而不傳回檔案內容。 不過,您可以使用名為 [取得檔案內容] 的動作來遵循這些觸發程序。 若要確保觸發器一次傳回一個檔案,而不是清單,請務必啟用觸發器的「分割開啟」選項。 如需 Azure Logic Apps 中此選項的詳細資訊,請檢閱 觸發多個執行

  • FTP 觸發程序僅適用於指定的資料夾,而不適用於子資料夾。 若要同時檢查資料夾的子資料夾,請為每個子資料夾設定單獨的流程。

  • 依預設,FTP 受管理連接器 動作可以讀取或寫入 50 MB 或更小的檔案。 若要處理大於 50 MB 的檔案,您可以使用名為 [ 取得檔案內容] 的 [使用 FTP 受控連接器] 動作,這會隱含地使用訊息區塊。 其他 FTP 受控連接器動作也支援啟用訊息區塊。

  • FTP 觸發程式在傳回新建立、新增或更新的檔案時,可能會遇到延遲或不完整的結果。

    當 FTP 觸發程序檢查新新增或變更的檔案時,觸發程序也會確認檔案已完成。 例如,當觸發程序檢查 FTP 伺服器時,檔案可能會進行變更。 為了避免傳回不完整的檔案,觸發程式會記下檔案的時間戳記,但不會立即傳回檔案。 相反地,只有在觸發程式再次檢查伺服器時,觸發程式才會傳回檔案。 有時,此行為可能會導致延遲持續最多是觸發程式輪詢間隔的兩倍。 由於此行為,如果您停用 FTP 觸發程式的 [分割時] 設定,FTP 觸發程式可能不會同時傳回所有檔案,

  • 保留「上次修改」時間戳記時,FTP 受管理連接器觸發程式可能會遇到遺漏、不完整或延遲的結果。

    • 遺漏的結果

      FTP 觸發程式的工作方式是輪詢或檢查 FTP 檔案系統,並尋找自上次輪詢以來變更的任何檔案。 FTP 受管理連接器會觸發使用檔案的上次修改時間戳記來比較檔案版本。

      如果您建立、新增或更新檔案的時間戳記早於目前追蹤的上次修改時間戳記,FTP 受控連接器觸發程式將不會偵測到此檔案。 另一方面,標準邏輯應用程式工作流程中的 FTP 內建連接器觸發程序沒有這項限制。

      因此,如果您使用在 FTP 伺服器上建立、新增或更新檔案的外部工具或用戶端,請務必停用工具或用戶端中保留檔案上次修改時間戳記的任何功能。

      下表列出一些保留此時間戳記的常用工具,以及停用此功能的步驟:

      FTP 用戶端 行動
      WinSCP 前往選項、>偏好設定>、傳輸、>編輯、>保留時間戳記>、停用
      檔案Zilla 移至 傳輸 保留>傳輸檔案>的時間戳記停用
    • 結果不完整或延遲

      當 FTP 觸發程序檢查新建立、新增或更新的檔案時,觸發程序也會檢查檔案是否完整。 例如,當觸發程序檢查 FTP 伺服器時,檔案可能會進行變更。 為了避免傳回不完整的檔案,觸發程式會記下檔案的時間戳記,但不會立即傳回檔案。 相反地,只有在觸發程式再次檢查伺服器時,觸發程式才會傳回檔案。

      有時,此行為可能會導致延遲持續時間幾乎是觸發程式輪詢間隔的兩倍。 由於此行為,如果您停用 FTP 觸發程式的 [分割開啟 ] 設定,FTP 觸發程式可能不會同時傳回所有檔案。

需求

  • FTP 連接器需要您的 FTP 主機伺服器位址和帳戶認證。

  • FTP 連接器需要從網際網路或透過網際網路存取 FTP 伺服器。 如需允許使用特定 IP 範圍流向 FTP 伺服器的流量的詳細資訊,請檢閱受控連接器 IP 位址。

  • FTP 連接器需要 FTP 伺服器以 被動 模式運作或接受。

  • FTP 連接器需要 FTP 伺服器啟用下列命令,並支援包含空格的資料夾,以便命令可以正常運作。 對於 LIST 命令,請確定該命令傳回 year 超過 6 個月的檔案時間戳記的元件。

    • 阿佩
    • 德勒
    • 目錄
    • MDTM
    • RENAME
    • 雷特爾
    • 大小
    • 站立
  • 若要安全 FTP,請務必設定 明確的 檔案傳輸通訊協定安全 (FTPS),而不是隱式 FTPS。 此外,如果您使用傳輸層安全 (TLS) 模式 (安全通訊端層 (SSL) 的後續模式),某些 FTP 伺服器 (例如 ProFTPd) 要求您啟用該 NoSessionReuseRequired 選項。

    FTP 連接器不適用於隱含 FTPS,且僅支援透過 FTPS 的 明確 FTP,這是 TLS 的延伸模組。

FTP 連線

  • 若要改善 FTP 連接器和 FTP 伺服器的效能,您可以在連接器完成要求之後,讓 FTP 連線保持開啟且作用中。

    當您建立與 FTP 伺服器的連線時,出現的連線設定檔方塊具有名為 [要求完成後關閉連線] 的設定。 此設定會指定是否在每次要求完成之後關閉 FTP 伺服器連線。 如果您停用此設定,則連線不會在要求完成後關閉,並保持作用中以供將來使用。

  • 如果您的工作流程執行個體平行執行,您可能會遇到間歇性連線錯誤。 工作流程中的某些作業可能會強制關閉連線,即使工作流程中的其他作業仍在使用該連線。

    若要避免這種情況,請嘗試下列建議:

    • 當您建立連線時,請啟用 [要求完成後關閉連線] 設定。

    • 關閉觸發程序或動作上啟用的任何平行化或並行。 如需 Azure Logic Apps 中此解決方案的詳細資訊,請檢閱下列檔:

    • 避免執行多個平行流程。

使用「建立檔案」動作,搭配和不分割區塊

對於 「建立檔案 」動作,行為取決於動作的 「允許區塊化」 設定和要建立的檔案大小:

  • 允許啟用分塊:

    • 檔案大小等於或小於 50 MB:動作會以單一要求上傳檔案、使用原始檔案名稱,並在上傳期間鎖定檔案。

    • 檔案大小大於 50 MB:動作會建立名稱格式為 file-name 的檔案。new-GUID.ms.partial,並使用多個要求或訊息區塊上傳檔案。 動作上傳最後一個區塊之後,動作會以原始檔案名稱重新命名檔案。

  • 允許區塊已 停用:動作會以單一要求上傳檔案、使用原始檔案名稱,並在上傳期間鎖定檔案。

連接器操作指南

如需如何在 Azure Logic Apps 中使用 FTP 受控連接器和內建連接器的相關資訊,請檢閱從 Azure Logic Apps 中的工作流程連線到 FTP 伺服器

一般限制

名稱 價值觀
單一封存中的資料夾數目上限。 此限制僅適用於「建立資料夾?」 設定為「是」。 16
在頻寬時間間隔內傳輸至/從連接器傳輸的 MB 數目上限 (每個連線) 1000
頻寬時間間隔 (以毫秒為單位) 60000

正在建立連線

連接器支援下列驗證類型:

預設值 建立連線的參數。 所有區域 不可共享

預設

適用:所有地區

建立連線的參數。

這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。

名稱 類型 Description 為必填項目
伺服器位址 字串 伺服器位址
使用者名 字串 使用者名
密碼 securestring 密碼
FTP 伺服器連接埠 整數 (int) FTP埠號(例如:21)
啟用 SSL? 布爾 (bool) 啟用 SSL? (對/錯)
二進位傳輸? 布爾 (bool) 啟用二進位傳輸? (對/錯)
停用憑證驗證? 布爾 (bool) 停用憑證驗證? (對/錯)
請求完成後關閉連接 布爾 (bool) 每次請求完成後關閉 FTP 連接? (對/錯)

節流限制

名稱 呼叫 續約期間
每個連線的 API 呼叫 900 60 秒

動作

使用路徑取得檔案中繼資料

此作業會使用檔案路徑取得檔案的中繼資料。

使用路徑取得檔案內容

此作業會使用檔案路徑取得檔案的內容。

列出根資料夾中的檔案

此作業會取得根資料夾中的檔案和子資料夾清單。

列出資料夾中的檔案

此作業會取得資料夾中的檔案和子資料夾清單。

刪除檔案

此作業會刪除檔案。

取得檔案中繼資料

此作業會取得檔案的中繼資料。

取得檔案內容

此作業會取得檔案的內容。

將存檔解壓縮到資料夾

此作業會將封存檔案解壓縮到資料夾中(例如:.zip)。

建立檔案

此作業會建立檔案。 如果檔案在建立檔案後立即在伺服器上刪除/重新命名,則聯結器可能會根據其設計傳回HTTP 404錯誤。 請延遲 1 分鐘,然後再刪除或重新命名新建立的檔案。

更新檔案

此作業會更新檔案。 如果檔案在更新後立即在伺服器上刪除/重新命名,連接器可能會根據其設計傳回 HTTP 404 錯誤。 請延遲 1 分鐘,然後再刪除或重新命名最近更新的檔案。

複製檔案

此作業會將檔案複製到 FTP 伺服器。 如果檔案在複製檔案後立即在伺服器上刪除/重新命名,則連接器可能會根據其設計傳回 HTTP 404 錯誤。 請延遲 1 分鐘,然後再刪除或重新命名新建立的檔案。

使用路徑取得檔案中繼資料

此作業會使用檔案路徑取得檔案的中繼資料。

參數

名稱 機碼 必要 類型 Description
檔案路徑
path True string

選取檔案

傳回

Blob 中繼資料

身體
BlobMetadata

使用路徑取得檔案內容

此作業會使用檔案路徑取得檔案的內容。

參數

名稱 機碼 必要 類型 Description
檔案路徑
path True string

選取檔案

推斷內容類型
inferContentType boolean

根據擴充功能推斷內容類型

傳回

檔案的內容。

檔案內容
binary

列出根資料夾中的檔案

此作業會取得根資料夾中的檔案和子資料夾清單。

傳回

列出資料夾中的檔案

此作業會取得資料夾中的檔案和子資料夾清單。

參數

名稱 機碼 必要 類型 Description
資料夾
id True string

選取資料夾

傳回

刪除檔案

此作業會刪除檔案。

參數

名稱 機碼 必要 類型 Description
檔案
id True string

選取檔案

取得檔案中繼資料

此作業會取得檔案的中繼資料。

參數

名稱 機碼 必要 類型 Description
檔案
id True string

選取檔案

傳回

Blob 中繼資料

身體
BlobMetadata

取得檔案內容

此作業會取得檔案的內容。

參數

名稱 機碼 必要 類型 Description
檔案
id True string

選取檔案

推斷內容類型
inferContentType boolean

根據擴充功能推斷內容類型

傳回

檔案的內容。

檔案內容
binary

將存檔解壓縮到資料夾

此作業會將封存檔案解壓縮到資料夾中(例如:.zip)。

參數

名稱 機碼 必要 類型 Description
來源封存檔案路徑
source True string

封存檔案的路徑

目的地資料夾路徑
destination True string

目的地資料夾的路徑

覆蓋?
overwrite boolean

如果設定為 'true',則覆寫目的地檔案

建立資料夾?
createFolders boolean

如果設定為「true」,則從封存中擷取資料夾

傳回

建立檔案

此作業會建立檔案。 如果檔案在建立檔案後立即在伺服器上刪除/重新命名,則聯結器可能會根據其設計傳回HTTP 404錯誤。 請延遲 1 分鐘,然後再刪除或重新命名新建立的檔案。

參數

名稱 機碼 必要 類型 Description
資料夾路徑
folderPath True string

選取資料夾

檔案名稱
name True string

檔案名稱

檔案內容
body True binary

檔案內容

取得所有檔案中繼資料
ReadFileMetadataFromServer boolean

檔案建立完成後,從SFTP伺服器取得所有檔案中繼資料。 如果這是false,則可能不會傳回某些元資料屬性,例如上次修改時間等。

傳回

Blob 中繼資料

身體
BlobMetadata

更新檔案

此作業會更新檔案。 如果檔案在更新後立即在伺服器上刪除/重新命名,連接器可能會根據其設計傳回 HTTP 404 錯誤。 請延遲 1 分鐘,然後再刪除或重新命名最近更新的檔案。

參數

名稱 機碼 必要 類型 Description
檔案
id True string

選取檔案

檔案內容
body True binary

檔案內容

傳回

Blob 中繼資料

身體
BlobMetadata

複製檔案

此作業會將檔案複製到 FTP 伺服器。 如果檔案在複製檔案後立即在伺服器上刪除/重新命名,則連接器可能會根據其設計傳回 HTTP 404 錯誤。 請延遲 1 分鐘,然後再刪除或重新命名新建立的檔案。

參數

名稱 機碼 必要 類型 Description
來源網址
source True string

來源檔案的網址

目的地檔案路徑
destination True string

目的地檔案路徑,包括目標檔案名稱

覆蓋?
overwrite boolean

如果設定為 'true',則覆寫目的地檔案

傳回

Blob 中繼資料

身體
BlobMetadata

觸發程序

新增或修改檔案時 [已棄用]

當在資料夾中新增或修改檔案時,此作業會觸發流程。 觸發器將獲取文件元數據以及文件內容。 觸發程式依賴於檔案的上次修改時間。 如果檔案是由協力廠商用戶端建立,則應在用戶端中停用保留上次修改時間。 觸發程序會略過大於 50 MB 的檔案。 如果在子資料夾中新增/更新檔案,則不會觸發觸發程式。 如果需要在子資料夾上觸發,則應建立多個觸發程式。

新增或修改檔案時 (僅限內容)

當資料夾中新增或修改一或多個檔案時,此作業會觸發流程。 此觸發器只會擷取檔案中繼資料。 若要取得檔案內容,您可以使用「取得檔案內容」操作。 觸發程式依賴於檔案的上次修改時間。 如果檔案是由協力廠商用戶端建立,則應在用戶端中停用保留上次修改時間。 如果在子資料夾中新增/更新檔案,則不會觸發觸發程式。 如果需要在子資料夾上觸發,則應建立多個觸發程式。

新增或修改檔案時 [已棄用]

當在資料夾中新增或修改檔案時,此作業會觸發流程。 觸發器將獲取文件元數據以及文件內容。 觸發程式依賴於檔案的上次修改時間。 如果檔案是由協力廠商用戶端建立,則應在用戶端中停用保留上次修改時間。 觸發程序會略過大於 50 MB 的檔案。 如果在子資料夾中新增/更新檔案,則不會觸發觸發程式。 如果需要在子資料夾上觸發,則應建立多個觸發程式。

參數

名稱 機碼 必要 類型 Description
資料夾
folderId True string

選取資料夾

包含檔案內容
includeFileContent boolean

如果設定為 true,也會擷取檔案內容以及觸發程式回應

推斷內容類型
inferContentType boolean

根據擴充功能推斷內容類型

傳回

檔案的內容。

檔案內容
binary

新增或修改檔案時 (僅限內容)

當資料夾中新增或修改一或多個檔案時,此作業會觸發流程。 此觸發器只會擷取檔案中繼資料。 若要取得檔案內容,您可以使用「取得檔案內容」操作。 觸發程式依賴於檔案的上次修改時間。 如果檔案是由協力廠商用戶端建立,則應在用戶端中停用保留上次修改時間。 如果在子資料夾中新增/更新檔案,則不會觸發觸發程式。 如果需要在子資料夾上觸發,則應建立多個觸發程式。

參數

名稱 機碼 必要 類型 Description
資料夾
folderId True string

選取資料夾

要傳回的檔案數目
maxFileCount integer

單一觸發程式執行要傳回的檔案數目上限 (1-100)。 請注意,「分割開啟」設定可以強制觸發器單獨處理每個項目。

傳回

Blob 中繼資料

檔案清單
BlobMetadata

定義

Blob中繼資料

Blob 中繼資料

名稱 路徑 類型 Description
Id
Id string

檔案或資料夾的唯一識別碼。

名稱
Name string

檔案或資料夾的名稱。

顯示名稱
DisplayName string

檔案或資料夾的顯示名稱。

路徑
Path string

檔案或資料夾的路徑。

最後修改
LastModified date-time

上次修改檔案或資料夾的日期和時間。

大小
Size integer

檔案或資料夾的大小。

媒體類型
MediaType string

檔案或資料夾的媒體類型。

Is資料夾
IsFolder boolean

布林值 (true、false) ,指出 Blob 是否為資料夾。

Etag
ETag string

檔案或資料夾的 etag。

檔案定位器
FileLocator string

檔案或資料夾的檔案定位器。

二進位

這是基本資料類型「二進位」。