翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
によって転送されるデータのフィルタリングAWS DataSync
AWS DataSyncデータのサブセット (特定のファイル、フォルダ、オブジェクトなど) のみを転送する場合にフィルタを適用できます。
例えば、送信元にで終わる一時ファイルが含まれている場合.tmp
、それらのファイルが送信されるのを防ぐ除外フィルターを作成できます。同じタスクで、除外フィルターとインクルードフィルターを組み合わせて使用することもできます。
フィルタリングの条件、定義、および構文
フィルタリングで使用する用語と定義は次のとおりです。
- フィルター
-
特定のフィルターを構成する文字列全体 (例:
*.tmp
|
*.temp
または/folderA|/folderB
)。フィルターは、| (パイプ) で区切られたパターンで構成されます。コンソールでパターンを追加する際には、各パターンを個別に追加するため、区切り文字は必要ありません。
- パターン:
-
フィルター内のパターン。たとえば、
*.tmp
は、*.tmp
|
*.temp
フィルターの一部のパターンです。 - フォルダ
-
すべてのフィルターは、送信元のパスに相対的です。たとえば、ソースの場所とタスクを作成する際にソースパスとして
/my_source/
を指定し、インクルードフィルター/transfer_this/
を指定したとします。この場合、 DataSync/my_source/transfer_this/
ディレクトリとその内容のみを転送します。送信元の直下のフォルダを指定するには、フォルダ名の前にスラッシュ (/) を含めます。前の例では、
transfer_this
ではなく/transfer_this
をパターンで使用します。DataSync は以下のパターンと同じ方法で解釈され、フォルダとそのコンテンツの両方に一致します。
/dir
/dir/
Amazon S3 バケットとの間でデータを転送する場合、 DataSync
/
はオブジェクトキー内の文字をファイルシステム上のフォルダと同じように処理します。
- 特殊文字
-
フィルタリングで使用する特殊文字は、次のとおりです。
特殊文字 説明 *
(ワイルドカード)0 個以上の文字に一致させるために使用する文字。たとえば、
/movies_folder*
は/movies_folder
と/movies_folder1
の両方に一致します。|
(パイプの区切り文字)パターン間の区切りとして使用する文字。いずれかがフィルターに一致する、複数のパターンを指定できます。たとえば、
*.tmp
|
*.temp
はtmp
またはtemp
のいずれかで終わるファイルに一致します。注記 コンソールでパターンを追加する際には、各パターンを個別の行に追加するため、この区切り記号は必要ありません。
\
(バックスラッシュ)ファイル名やオブジェクト名に含まれる特殊文字 (*、|、\) をエスケープするための文字です。
バックスラッシュがファイル名に含まれている場合は、二重バックスラッシュ (\\) が必要です。同様に、\\\\ は、ファイル名での連続する 2 つのバックスラッシュを表します。
パイプがファイル名に含まれている場合は、パイプの前にバックスラッシュ (\|) が必要です。
バックスラッシュ (\) に続くその他の文字、またはパターン末尾にある \ は無視されます。
転送からのデータの除外
除外フィルターでは、送信元から送信先にファイルを転送するときに除外されるファイル、フォルダ、およびオブジェクトを定義します。これらのフィルターは、タスクの作成、編集、または開始時に設定できます。
DataSync コンソールで除外フィルター付きのタスクを作成するには、データ転送設定セクションの除外パターンでパターンのリストを指定します。たとえば、temp
または tmp
という名前の一時フォルダを除外するには、*/temp
を 除外パターンボックス で指定し、Add patterns (パターンの追加) を選択してから、2 番目のテキストボックスで */tmp
を指定できます。フィルターにさらにパターンを追加するには、[Add pattern (パターンの追加)] を選択します。AWS Command Line Interface(AWS CLI) を使用する場合は、フィルターの周りにシングルクォーテーション ('
) が必要で、区切り文字として| (パイプ) が使用する必要があります。この例では、'*/temp
|*/tmp'
と指定します。
タスクを作成した後、タスク設定を編集して、除外フィルターとの間でパターンを追加または削除できます。変更は、今後のタスクの実行に適用されます。
タスクを実行する際に、「上書きで開始」オプションを使用して除外フィルターのパターンを変更できます。加えた変更は、そのタスクの実行にのみ適用されます。
AWS CLI を使用して除外フィルターを作成することもできます。次の例は、このような CLI コマンドを示しています。
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
' --cloud-watch-log-group-arn 'arn:aws:logs:region
:account-id
:log-group:your-log-group
' --nameyour-task-name
--excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'
NetApp システムからファイルを移行する場合は、*/.snapshot
除外フィルターのパターンとして指定して、 NetAppバックアップフォルダを除外することをお勧めします。
転送にデータを含める
インクルードフィルターは、 DataSync タスクの実行時に転送されるファイル、フォルダ、およびオブジェクトを定義します。インクルードフィルターは、タスクの作成、編集、または開始時に設定できます。
インクルードフィルター付きのタスクを作成するには、特定のファイルとフォルダ オプションを選択し、インクルードパターンでインクルードするパターンのリストを指定します。
DataSync インクルードフィルターに一致するファイルとフォルダーのみをスキャンして転送します。たとえば、ソースフォルダのサブセットが含まれるようにするには、/important_folder_1
|/important_folder_2
と指定します。
タスクを作成した後、タスク設定を編集して、インクルードフィルターとの間でパターンを追加または削除できます。変更はすべて今後のタスクの実行に適用されます。
タスクを実行する際に、上書きで開始する オプションを使用して、インクルードフィルターのパターンを変更できます。加えた変更は、そのタスクの実行にのみ適用されます。
AWS CLI を使用してインクルードフィルタを作成または編集することもできます。以下の例は、CLI コマンドを示しています。フィルターを囲む引用符 ('
) と、区切り記号として使用される |
(パイプ) に注意してください。
aws datasync start-task-execution --task-arn 'arn:aws:datasync:
region
:account-id
:task/task-id
' --includes FilterType=SIMPLE_PATTERN,Value='/important_folder1|/important_folder2'
インクルードフィルターはパターンの右端にある場合のみ、ワイルドカード (*) をサポートしています。たとえば、/documents*
|/code*
はサポートされていますが、*.txt
サポートされていません。
フィルター例
以下に示しているのは、 DataSyncで使用できる一般的なフィルターの例です。
独自のフィルタを作成する場合は、を確認してくださいタスクフィルタークォータ。
送信元からの一部のフォルダの除外
場合によっては、コピー元のフォルダを除外してコピー先にコピーしないようにすることもあります。例えば、 work-in-progress一時フォルダがあるとします。または、 NetApp システムを使用してバックアップフォルダを除外する場合です。これらの場合には、次のフィルターを使用できます。
*/.snapshot
コンテンツが似ているフォルダー (/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
」