共用方式為


在複製活動中設定SFTP

本文概述如何使用資料管線中的複製活動,從 SFTP 複製數據。

支援的格式

SFTP 支援下列檔案格式。 如需以格式為基礎的設定,請參閱每個文章。

支援的組態

如需複製活動下每個索引標籤的設定,請分別移至下列各節。

一般

請參閱一般設定指引,以設定 [一般設定] 索引卷標。

來源

移至 [ 來源] 索引標籤以設定複製活動來源。 如需詳細的設定,請參閱下列內容。

Screenshot showing source tab and the list of properties.

需要下列三個屬性:

  • 數據存放區類型:選取 [外部]。

  • 連線:從聯機清單中選取 SFTP 連線。 如果沒有連線存在,請選取 [新增],以建立新的 SFTP 連線。

  • 檔案路徑類型:根據您想要讀取檔案的方式,從 [檔案路徑]、 [通配符檔案路徑 ] 和 [檔案清單 ] 中選取。

    • 檔案路徑:如果您選擇此類型,請指定原始程式檔路徑。 您可以選取 [ 瀏覽 ] 以選取來源檔案,或手動輸入您的檔案路徑。

    • 野生檔案路徑:如果您選擇此類型,請指定 通配符路徑 來篩選來源資料夾或檔案。

      允許的通配符為 * (比對零或多個字元) 和 ? (符合零或單一字元)。 如果您的資料夾名稱內有通配符或這個逸出字元,請使用 ^ 來逸出 。 如需更多範例,請移至資料夾 和檔案篩選範例

      Screenshot showing wildcard file path.

      通配符資料夾路徑:指定含有通配符的資料夾路徑,以篩選源資料夾。

      通配符檔名:使用指定資料夾路徑/通配符資料夾路徑下的通配符指定檔名,以篩選來源檔案。

    • 檔案清單:如果您選取此類型,請指定 [資料夾路徑] 和 [檔案路徑] 清單,以指示複製指定的檔案集。 指向文字檔,其中包含您想要複製的檔案清單,每行一個檔案一個。 如需更多範例,請移至檔案 清單範例

      • 資料夾路徑:指定源資料夾的路徑。 此為必要。

      • 檔案清單的路徑:指定文本文件的路徑,其中包含您要複製的檔案清單。

        Screenshot showing list of files.

  • 檔案格式:從下拉式清單中選取套用的檔案格式。 選取 [設定] 以設定檔案格式。 如需不同檔格式的設定,請參閱支援格式的文章以取得詳細資訊。

在 [進階] 底下,您可以指定下列欄位:

  • 依上次修改的篩選:檔案會根據您指定的上次修改日期進行篩選。 當您將檔案路徑類型設定為 檔案清單時,此屬性不適用。

    • 開始時間 (UTC):如果上次修改的時間大於或等於設定的時間,則會選取檔案。
    • 結束時間 (UTC):如果上次修改時間小於設定的時間,則會選取檔案。

    Start time (UTC) 具有 datetime 值,但 End time (UTC) 為 NULL 時,表示將選取上次修改屬性大於或等於 datetime 值的檔案。 當結束時間 (UTC) 具有日期時間值但 Start time (UTC) 為 NULL 時,表示上次修改屬性小於日期時間值的檔案將被選取。 屬性可以是 NULL,這表示不會將任何檔案屬性篩選套用至數據。

  • 停用區塊處理:區塊化是設計來優化效能,並發生在下方。 此選項可讓您停用每個檔案內的區塊化。 從 SFTP 複製數據時,服務會先嘗試取得檔案長度,然後將檔案分割成多個元件,並以平行方式讀取。 指定您的 SFTP 伺服器是否支援取得檔案長度或尋求從特定位移讀取。 預設為未選取。

  • 啟用數據分割探索:指定是否從檔案路徑剖析分割區,並將其新增為其他源數據行。 預設會取消選取它,而且當您使用二進位檔案格式時不受支援。

    • 數據分割根路徑:啟用資料分割探索時,請指定絕對根路徑,以便將分割資料夾讀取為數據行。
      如果未指定,則預設為

      • 當您在來源上使用檔案路徑或檔案清單時,分割區根路徑是您設定的路徑。
      • 當您使用通配符資料夾篩選時,分割區根路徑是第一個通配符之前的子路徑。

      例如,假設您將路徑設定為 root/folder/year=2020/month=08/day=27

      • 如果您將分割區根路徑指定為 root/folder/year=2020,除了檔案內的數據行之外,複製活動還會分別產生兩個數據行月和日,其值為 “08” 和 “27”。
      • 如果未指定分割區根路徑,則不會產生任何額外的數據行。

      Screenshot showing Enable partition discovery.

  • 並行連線上限:這個屬性表示活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。

  • 其他數據行:新增其他數據行以儲存來源檔案的相對路徑或靜態值。 後者支持表達式。 如需詳細資訊,請移至複製期間新增其他數據行。

Destination

移至 [ 目的地 ] 索引標籤以設定複製活動目的地。 如需詳細的設定,請參閱下列內容。

Screenshot showing destination tab and the list of properties.

  • 數據存放區類型:選取 [外部]。
  • 連線:從聯機清單中選取 SFTP 連線。 如果沒有連線存在,請選取 [新增],以建立新的 SFTP 連線。
  • 檔案路徑:指定要將數據寫入的檔案路徑。 您可以選取 [ 瀏覽 ] 以選取來源檔案,或手動輸入您的檔案路徑。
  • 檔案格式:從下拉式清單中選取套用的檔案格式。 選取 [設定] 以設定檔案格式。 如需不同檔格式的設定,請參閱支援格式的文章以取得詳細資訊。

在 [進階] 底下,您可以指定下列欄位:

  • 複製行為:當來源是檔案型數據存放區中的檔案時,請指定複製行為。 從下列屬性中選擇。

    • 扁平化階層:源資料夾的所有檔案都位於目標資料夾的第一層。 目標檔案具有自動產生的名稱。
    • 合併檔案:將所有檔案從源資料夾合併到一個檔案。 如果指定檔名,合併的檔名就是指定的名稱。 否則,它是自動產生的檔名。
    • 保留階層 (預設值):保留目標資料夾中的檔案階層。 源檔案至源資料夾的相對路徑與目標檔案的相對路徑與目標資料夾的相對路徑相同。
    • 新增動態內容:選取此選項以使用動態內容指定複製行為。
  • 並行連線上限:活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。

  • 作業逾時(分鐘):指定將每個區塊寫入 SFTP 伺服器的逾時。 預設值為 60 分鐘。

  • 使用臨時檔上傳:指定上傳至暫存盤並重新命名,或直接寫入目標資料夾或檔案位置。 根據預設,會選取它,服務會先寫入暫存盤,然後在上傳完成時重新命名它們。

    如果您有其他程式寫入相同的檔案,此順序有助於 (1) 避免可能導致檔案損毀的衝突,而 (2) 可確保檔案的原始版本存在於傳輸期間。 如果您的 SFTP 伺服器不支援重新命名作業,請停用此選項,並確定您沒有同時寫入目標檔案。

    提示

    如果您在將數據寫入 SFTP 時收到「UserErrorSftpPathNotFound」、「UserErrorSftpPermissionDenied」或「SftpOperationFail」錯誤,而您使用的 SFTP 用戶確實具有適當的許可權,請檢查您的 SFTP 伺服器是否支援檔案重新命名作業是否正常運作。 如果不是,請停用 [ 使用暫存盤 上傳] 選項,然後再試一次。

對應

如需 [ 對應 ] 索引標籤設定,請參閱 在 [對應] 索引標籤底下設定對應。如果您選擇 [二進位] 作為檔案格式,則不支持對應。

設定

如需 設定 索引標籤,請移至 [設定] 索引標籤底下的 [設定其他設定]。

數據表摘要

下表包含 SFTP 中複製活動的詳細資訊。

來源

名稱 描述: 必要 JSON 腳本屬性
數據存放區類型 您的資料存放區類型。 外部 Yes /
[連接] 與源數據存放區的SFTP連線。 < 您的 SFTP 連線 > Yes connection
檔案路徑類型 用來取得源數據的檔案路徑類型。 檔案路徑
通配符檔案路徑
檔案清單
Yes /
檔案路徑 來源檔案的路徑。 < 檔案路徑> Yes fileName
folderPath
通配符路徑 原始程式檔的通配符路徑。 < 您的通配符檔案路徑 > [是] 作為 通配符檔名 wildcardFolderPath
wildcardFileName
資料夾路徑 源資料夾的路徑。 < 您的資料夾路徑> Yes folderPath
檔案清單的路徑 表示複製指定的檔案集。 指向文字檔,其中包含您想要複製的檔案清單,每行一個檔案一個。 < 檔案清單路徑 > No fileListPath
檔案格式 源數據的檔案格式。 如需不同檔格式的資訊,請參閱支援格式的文章以取得詳細資訊。 / Yes /
依上次修改的篩選 在 [開始時間,結束時間] 範圍內具有上次修改時間的檔案,將會篩選出進一步處理。 時間會以的格式 yyyy-mm-ddThh:mm:ss.fffZ套用至UTC時區。 您可以略過這些屬性,這表示不會套用任何檔案屬性篩選。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。 Datetime No modifiedDatetimeStart
modifiedDatetimeEnd
停用區塊處理 區塊化是設計來優化效能,並發生在下方。 此選項可讓您停用每個檔案內的區塊化。 從 SFTP 複製數據時,服務會先嘗試取得檔案長度,然後將檔案分割成多個元件,並以平行方式讀取。 指定您的 SFTP 伺服器是否支援取得檔案長度或尋求從特定位移讀取。 已選取或未選取 (預設值) No disableChunking:
true 或 false (預設值)
啟用數據分割探索 指出是否要從檔案路徑剖析分割區,並將其新增為其他源數據行。 已選取或未選取 (預設值) No enablePartitionDiscovery:
true 或 false (預設值)
數據分割根路徑 絕對數據分割根路徑,以便將分割區資料夾讀取為數據行。 啟用數據分割探索時指定它。 < 數據分割根路徑 > No partitionRootPath
並行連線上限 在活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 < 並行連線的上限 >
(整數)
No maxConcurrent 連線 ions
其他數據行 新增其他數據行以儲存來源檔案的相對路徑或靜態值。 後者支持表達式。 如需詳細資訊,請移至在 複製期間新增其他數據行 •名字
•價值
No additionalColumns:
•名字
•價值

Destination

名稱 描述: 必要 JSON 腳本屬性
數據存放區類型 您的資料存放區類型。 外部 Yes /
[連接] 您與來源 SFTP 的連線。 < 您的連線 > Yes connection
檔案路徑 目的地數據的檔案路徑。 目的地的檔案路徑 Yes folderPath
fileName
檔案格式 源數據的檔案格式。 如需不同檔格式的資訊,請參閱支援格式的文章以取得詳細資訊。 / Yes /
複製行為 當來源是檔案型數據存放區中的檔案時,定義複製行為。 • 扁平化階層
• 合併檔案
• 保留階層
No copyBehavior:
- FlattenHierarchy
- MergeFiles
- PreserveHierarchy
並行連線上限 在活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 < 最大並行連線 > No maxConcurrent 連線 ions
工作逾時 (分鐘) 將每個區塊寫入 SFTP 伺服器的逾時。 < 您的作業逾時 >
預設值為 60
No operationTimeout
使用臨時檔上傳 指出是否要上傳暫存盤和重新命名。 如果您的 SFTP 伺服器不支援重新命名作業,請停用此選項。 selected (default) 或 unselected No useTempFileRename:
true (預設值) 或 false