転送されたデータのフィルタリングAWS DataSync - AWS DataSync

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

転送されたデータのフィルタリングAWS DataSync

送信元から送信先にデータを転送する場合、フィルタを適用して、送信元でファイルのサブセットのみを転送できます。フィルタを使用して、除外または転送に含めるファイル、フォルダ、およびオブジェクトを指定できます。たとえば、ソースの場所に一時ファイルがあり、.tmpでは、それらのファイルが送信先に転送されないようにする除外フィルタを作成できます。

フィルタリングは、ソースファイルのサブセットを転送する場合に指定するオプションの設定です。送信元から送信先にすべてのファイルを転送する場合は、フィルタ設定を空にしておくことができます。また、除外フィルターとインクルードフィルターを同じタスクで使用することもできます。

用語、定義、構文のフィルタリング

フィルタリングで使用する用語および定義のいくつかを以下に示します。

フィルタ

特定のフィルタを構成する文字列全体 (例: )*.tmp|*.tempまたは/folderA|/folderB

フィルタは、| (パイプ) で区切られたパターンで構成されています。各パターンは個別に追加されるため、コンソールでパターンを追加する場合、区切り文字は必要ありません。

Pattern

フィルタ内のパターン。たとえば、*.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|*.temptmp または temp のいずれかで終わるファイルに一致します。

注記

各パターンは個別の行に追加されるため、コンソールでパターンを追加する場合、この区切り記号は必要ありません。

\ (バックスラッシュ)

ファイル名またはオブジェクト名において、特殊文字 (*、|、\) をエスケープするために使用される文字。

バックスラッシュがファイル名に含まれている場合は、二重バックスラッシュ (\\) が必要です。同様に、\\\\ は、ファイル名での連続する 2 つのバックスラッシュを表します。

パイプがファイル名に含まれている場合は、パイプの前にバックスラッシュ (\|) が必要です。

バックスラッシュ (\) に続くその他の文字、またはパターンの末尾にある、は無視されます。

転送からのデータの除外

フィルタの除外では、送信元から送信先にファイルを転送するときに除外されるファイル、フォルダ、およびオブジェクトを定義します。タスクの作成、編集、または開始時には、これらのフィルタを設定できます。

DataSync コンソールで除外フィルターを使用してタスクを作成するには、データ転送の設定[除外パターン。たとえば、名前の一時フォルダーを除外するにはtempまたはtmpと指定することができます*/temp除外パターンテキストボックスで、パターンを追加すると入力し、*/tmp2 番目のテキストボックスに「」と入力します。フィルタにさらにパターンを追加するには、[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' --name your-task-name --excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'
注記

NetApp システムからファイルを移行する場合は、NetApp バックアップフォルダを除外することをお勧めします。*/.snapshotを除外フィルタのパターンとして使用します。

転送へのデータの取り込み

フィルタを含めるタスクの実行時に 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はサポートされていません。

一般的な用途のサンプルフィルタ

このセクションでは、フィルタの一般的な使用方法と、そのためのサンプルフィルタを示します。

送信元からの一部のフォルダの除外

場合によっては、送信元のフォルダを除外して、送信先にコピーしないようにする場合があります。たとえば、一時的な作業中のフォルダがある場合や、NetApp システムを使用して NetApp バックアップフォルダを除外する場合です。このような場合は、次のフィルタを使用します。

*/.snapshot

ファイル階層のいずれかのレベルでフォルダを除外するには、次のように、タスクを作成して除外フィルタを設定することができます。

*/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"

注記

フィルタ文字列の長さは、409,600 文字に制限されています。