によって転送されるデータのフィルタリングAWS DataSync - AWS DataSync

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

によって転送されるデータのフィルタリング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|*.temptmp または 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' --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 はサポートされていません。

フィルターの例

以下の例では、DataSync で使用できる一般的なフィルターを示します。

注記

独自のフィルタを作成するときは、タスクフィルタの制限

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

場合によっては、コピー元のフォルダを除外してコピー先にコピーしないようにすることもあります。たとえば、一時的な作業中のフォルダがある場合や、または、 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