本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用篩選條件傳輸特定檔案、物件和資料夾
AWS DataSync 可讓您套用篩選條件,以在傳輸中包含或排除來源位置中的資料。例如,如果您不想傳輸結尾為 的暫存檔案.tmp
,您可以建立排除篩選條件,讓這些檔案不會前往目的地位置。
您可以使用排除的組合,並在相同的傳輸任務中包含篩選條件。如果您修改任務的篩選條件,這些變更會在您下次執行任務時套用。
篩選詞彙、定義和語法
熟悉與 DataSync 篩選相關的概念:
- 篩選條件
-
組成特定篩選條件的整個字串 (例如
*.tmp
|
*.temp
或/folderA|/folderB
)。篩選條件由使用管道 (|) 分隔的模式組成。當您在 DataSync 主控台中新增模式時,不需要分隔符號,因為您分別新增每個模式。
注意
篩選條件區分大小寫。例如,篩選條件
/folderA
不符合/FolderA
。 - 模式
-
篩選條件的模式。例如,
*.tmp
是屬於*.tmp
|
*.temp
篩選條件的模式。如果您的篩選條件有多個模式,您可以使用管道 (|) 分隔每個模式。 - 資料夾
-
-
所有篩選條件皆相對於來源位置路徑。例如,假設您在建立來源位置和任務時指定
/my_source/
做為來源路徑,並指定包含篩選條件/transfer_this/
。在此情況下,DataSync 只會傳輸目錄/my_source/transfer_this/
及其內容。 -
若要直接在來源位置下方指定資料夾,請在資料夾名稱前面包含正斜線 (/)。在之前的範例中,模式使用
/transfer_this
而非transfer_this
。 -
DataSync 會以相同方式解譯下列模式,並同時符合資料夾及其內容。
/dir
/dir/
-
當您將資料從 Amazon S3 儲存貯體傳輸或傳輸到 Amazon S3 儲存貯體時,DataSync 會將物件索引鍵中的
/
字元視為與檔案系統上的資料夾相當的字元。
-
- 特殊字元
-
以下是可用於篩選條件的特殊字元。
特殊字元 描述 *
(萬用字元)此字元可用於匹配零或多個字元。例如,
/movies_folder*
可匹配/movies_folder
和/movies_folder1
。|
(縱線字元分隔符號)此字元可做為模式之間的分隔符號。它可用於指定多個模式,其中的任何模式皆可匹配篩選條件。例如,
*.tmp
|
*.temp
匹配以tmp
或temp
結尾的檔案。注意
當您在主控台上新增模式時,不需要此分隔符號,因為您在不同的行上新增每個模式。
\
(反斜線)用於在檔案或物件名稱中逸出特殊字元 (*、|、\) 的字元。
當檔案名稱包含斜線時,必須使用雙斜線 (\\)。同樣地,\\\\ 在檔案名稱中代表兩個連續的斜線。
當檔案名稱中包含縱線字元時,必須使用接在斜線後面的縱線字元 (\|)。
反斜線 (\) 後面接著任何其他字元,或在模式結束時,會遭到忽略。
範例篩選條件
下列範例顯示您可以搭配 DataSync 使用的常見篩選條件。
注意
您可以在篩選條件中使用多少字元有限制。如需詳細資訊,請參閱DataSync 配額。
從來源位置排除一些資料夾
在某些情況下,您希望 排除來源位置中的資料夾,使其不會複製到目的地位置。例如,如果您有臨時work-in-progress資料夾,您可以使用如下篩選條件:
*/.temp
若要排除具有類似內容 (例如 /reports2021
和 /reports2022)
) 的資料夾,您可以使用如下所示的排除篩選條件:
/reports*
若要排除檔案階層中任何層級的資料夾,您可以使用如下所示的排除篩選條件。
*/folder-to-exclude-1
|*/folder-to-exclude-2
若要排除來源位置最上層的資料夾,您可以使用如下所示的排除篩選條件。
/top-level-folder-to-exclude-1
|/top-level-folder-to-exclude-2
包含來源位置上的資料夾子集
在某些情況下,您的來源位置可能是大型共用,而且您需要在根目錄下轉移一部分資料夾。若要包含特定資料夾,請啟動任務執行並包含篩選條件如下。
/folder-to-transfer/*
排除特定檔案類型
若要排除傳輸特定檔案類型,您可以建立任務執行並包含排除篩選條件,例如 *.temp
。
傳輸您指定的個別檔案
若要傳輸個別檔案的清單,請使用 啟動任務執行,其中包含如下所示的篩選條件:"/folder/subfolder/file1.txt
|/folder/subfolder/file2.txt
|/folder/subfolder/file2.txt
"
建立包含篩選條件
包含篩選條件可定義您希望 DataSync 傳輸的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定包含篩選條件。
DataSync 只會掃描和傳輸符合包含篩選條件的檔案和資料夾。例如,若要包含來源資料夾的子集,您可以指定 /important_folder_1
|/important_folder_2
。
注意
包含篩選條件僅支援萬用字元 (*) 做為模式中最右側的字元。例如,支援 /documents*
|/code*
,但*.txt
不支援。
在 https://https://console.aws.amazon.com/datasync/
開啟 AWS DataSync 主控台。 -
在左側導覽窗格中,選擇任務,然後選擇建立任務。
-
設定任務的來源和目的地位置。
如需詳細資訊,請參閱 哪裡可以使用 傳輸資料 AWS DataSync?
-
針對要掃描的內容,選擇特定檔案、物件和資料夾,然後選取使用篩選條件。
-
對於包含,輸入您的篩選條件 (例如
/important_folders
,要包含重要目錄),然後選擇新增模式。 -
視需要新增其他包含篩選條件。
使用 時 AWS CLI,您必須在篩選條件周圍使用單引號 ('
),如果您有多個篩選條件,則必須使用 | (管道) 做為分隔符號。
下列範例指定兩個包含篩選條件,/important_folder1
並在執行 create-task
命令/important_folder2
時指定 。
aws datasync create-task --source-location-arn 'arn:aws:datasync:
region
:account-id
:location/location-id
' \ --destination-location-arn 'arn:aws:datasync:region
:account-id
:location/location-id
' \ --includes FilterType=SIMPLE_PATTERN,Value='/important_folder1|/important_folder2'
建立排除篩選條件
排除篩選條件會定義您不希望 DataSync 傳輸之來源位置中的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定這些篩選條件。
主題
預設排除的資料
DataSync 會自動排除某些資料傳輸:
-
.snapshot
– DataSync 會忽略結尾為 的任何路徑.snapshot
,通常用於儲存系統檔案或目錄的point-in-time快照。 -
/.aws-datasync
和/.awssync
– DataSync 會在您的位置建立這些資料夾,以協助促進傳輸。 -
/.zfs
– 您可能會看到此資料夾搭配 Amazon FSx for OpenZFS 位置。
在 https://https://console.aws.amazon.com/datasync/
開啟 AWS DataSync 主控台。 -
在左側導覽窗格中,選擇任務,然後選擇建立任務。
-
設定任務的來源和目的地位置。
如需詳細資訊,請參閱 哪裡可以使用 傳輸資料 AWS DataSync?
-
對於排除,輸入您的篩選條件 (例如
*/temp
,要排除臨時資料夾),然後選擇新增模式。 -
視需要新增其他排除篩選條件。
-
如有需要,請新增包含篩選條件。
使用 時 AWS CLI,您必須在篩選條件周圍使用單引號 ('
),如果您有多個篩選條件,則必須使用 | (管道) 做為分隔符號。
下列範例會指定兩個排除篩選條件,*/temp
並在執行 create-task
命令*/tmp
時指定 。
aws datasync create-task \ --source-location-arn 'arn:aws:datasync:
region
:account-id
:location/location-id
' \ --destination-location-arn 'arn:aws:datasync:region
:account-id
:location/location-id
' \ --excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'