Transferência de arquivos, objetos e pastas específicos usando filtros - AWS DataSync

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Transferência de arquivos, objetos e pastas específicos usando filtros

AWS DataSync permite aplicar filtros para incluir ou excluir dados do local de origem em uma transferência. Por exemplo, se você não quiser transferir arquivos temporários que terminem com .tmp, poderá criar um filtro de exclusão para que esses arquivos não vão para ao local de destino.

Você pode usar uma combinação de filtros de exclusão e inclusão na mesma tarefa de transferência. Se você modificar os filtros de uma tarefa, essas alterações serão aplicadas a próxima vez que você executar a tarefa.

Filtrar termos, definições e sintaxe

Familiarize-se com os conceitos relacionados à DataSync filtragem:

Filtro

A string completa que representa um filtro específico (por exemplo, *.tmp|*.temp ou /folderA|/folderB).

Filtros são compostos por padrões delimitados por uma barra vertical (|). Você não precisa de um delimitador ao adicionar padrões no DataSync console porque adiciona cada padrão separadamente.

nota

Os filtros diferenciam maiúsculas de minúsculas. Por exemplo, o filtro /folderA não corresponderá a /FolderA.

Padrão

Um padrão dentro de um filtro. Por exemplo, *.tmp é um padrão que faz parte do filtro *.tmp|*.temp. Se o filtro tiver vários padrões, você delimitará cada padrão usando uma barra vertical (|).

Pastas
  • Todos os filtros se referem ao caminho do local de origem. Por exemplo, suponha que você especifica /my_source/ como o caminho de origem ao criar a tarefa e o local de origem e especifica o filtro de inclusão /transfer_this/. Nesse caso, DataSync transfere somente o diretório /my_source/transfer_this/ e seu conteúdo.

  • Para especificar uma pasta diretamente sob o local de origem, inclua uma barra (/) na frente do nome da pasta. No exemplo anterior, o padrão usa /transfer_this, e não transfer_this.

  • DataSync interpreta os padrões a seguir da mesma forma e combina a pasta e seu conteúdo.

    /dir

    /dir/

  • Quando você está transferindo dados de ou para um bucket do Amazon S3 DataSync, trata / o caractere na chave do objeto como o equivalente a uma pasta em um sistema de arquivos.

Caracteres especiais

Veja a seguir caracteres especiais para usar com a filtragem.

Caractere especial Descrição

* (curinga)

Um caractere usado para corresponder a zero ou mais caracteres. Por exemplo, /movies_folder* corresponde a /movies_folder e /movies_folder1.

| (barra vertical)

Um caractere usado como um delimitador entre padrões. Permite especificar vários padrões, em que qualquer um deles pode corresponder ao filtro. Por exemplo, *.tmp|*.temp corresponde a arquivos que terminam com tmp ou temp.

nota

Este delimitador não é necessário ao adicionar padrões no console, pois você adiciona cada padrão em uma linha separada.

\ (barra invertida)

Um caractere usado para caracteres especiais de escape (*, |, \) no nome de um arquivo ou objeto.

Uma dupla barra invertida (\\) é necessária quando uma barra invertida fizer parte do nome de um arquivo. Da mesma forma, \\\\ representa duas barras invertidas consecutivas em um nome de arquivo.

Uma barra invertida seguida de uma barra vertical (\|) é necessária quando uma barra vertical fizer parte do nome de um arquivo.

Uma barra (\) seguida por qualquer outro caractere, ou no final de um padrão, será ignorada.

Exemplo de filtros

Os exemplos a seguir mostram filtros comuns com os quais você pode usar DataSync.

nota

Há limites para o número de caracteres que você pode usar em um filtro. Para obter mais informações, consulte DataSync cotas.

Excluir algumas pastas do local de origem

Em alguns casos, você poderá querer a exclusão de pastas no seu local de origem para não copiá-las para o seu local de destino. Por exemplo, se você tiver work-in-progress pastas temporárias, poderá usar algo como o filtro a seguir:

*/.temp

Para excluir pastas com conteúdo semelhante (como /reports2021 e /reports2022)), você pode usar um filtro de exclusão como o seguinte:

/reports*

Para excluir pastas em qualquer nível da hierarquia de arquivos, você pode usar um filtro de exclusão, como o que segue.

*/folder-to-exclude-1|*/folder-to-exclude-2

Para excluir pastas no nível superior do local de origem, você pode usar um filtro de exclusão, como o que segue.

/top-level-folder-to-exclude-1|/top-level-folder-to-exclude-2

Inclua apenas um subconjunto das pastas do local de origem

Em alguns casos, seu local de origem pode ser um grande compartilhamento e você deseja transferir um subconjunto das pastas da raiz. Para incluir pastas específicas, inicie uma execução de tarefa com um filtro de inclusão, como o seguinte.

/folder-to-transfer/*

Excluir tipos de arquivo específicos

Para excluir determinados tipos de arquivo da transferência, crie uma execução de tarefa com um filtro de exclusão, como *.temp.

Transferir arquivos individuais especificados

Para transferir uma lista de arquivos individuais, inicie uma execução de tarefa com um filtro de inclusão, como o seguinte: “/folder/subfolder/file1.txt|/folder/subfolder/file2.txt|/folder/subfolder/file2.txt

Criação de filtros de inclusão

Os filtros de inclusão definem os arquivos, objetos e pastas que você DataSync deseja transferir. Você pode configurar filtros de inclusão ao criar, editar ou iniciar uma tarefa.

DataSync verifica e transfere somente arquivos e pastas que correspondam aos filtros de inclusão. Por exemplo, para incluir um subconjunto das suas pastas de origem, você pode especificar /important_folder_1|/important_folder_2.

nota

Atualmente, os filtros de inclusão oferecem suporte ao caractere (*) apenas como o caractere mais à direita em um padrão. Por exemplo, /documents*|/code* é aceito, mas *.txt não.

  1. Abra o AWS DataSync console em https://console.aws.amazon.com/datasync/.

  2. No painel de navegação esquerdo, escolha Tarefas e depois escolha Criar tarefa.

  3. Configure os locais de origem e destino da sua tarefa.

    Para ter mais informações, consulte Para onde posso transferir meus dados com AWS DataSync?

  4. Em Conteúdo a ser varrido, escolha Arquivos, objetos e pastas específicos e selecione Usando filtros.

  5. Em Inclui, insira seu filtro (por exemplo, /important_folders para incluir um diretório importante) e escolha Adicionar padrão.

  6. Adicione outros filtros de inclusão conforme necessário.

Ao usar o AWS CLI, você deve usar aspas simples (') ao redor do filtro e um | (pipe) como delimitador se você tiver mais de um filtro.

O exemplo a seguir especifica dois filtros de inclusão /important_folder1 e /important_folder2 ao executar o comando create-task.

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'

Criação de filtros de exclusão

Os filtros de exclusão definem os arquivos, objetos e pastas em seu local de origem que você não DataSync deseja transferir. Você pode configurar estes filtros ao criar, editar ou iniciar uma tarefa.

Dados excluídos por padrão

DataSync exclui automaticamente alguns dados da transferência:

  • .snapshot— DataSync ignora qualquer caminho que termine com.snapshot, que normalmente é usado para point-in-time capturas instantâneas dos arquivos ou diretórios de um sistema de armazenamento.

  • /.aws-datasynce /.awssync — DataSync cria essas pastas em sua localização para ajudar a facilitar sua transferência.

  • /.zfs— Você pode ver essa pasta com os locais da Amazon FSx for OpenZFS.

  1. Abra o AWS DataSync console em https://console.aws.amazon.com/datasync/.

  2. No painel de navegação esquerdo, escolha Tarefas e depois escolha Criar tarefa.

  3. Configure os locais de origem e destino da sua tarefa.

    Para ter mais informações, consulte Para onde posso transferir meus dados com AWS DataSync?

  4. Em Exclusões, insira seu filtro (por exemplo, */temp para excluir pastas temporárias) e escolha Adicionar padrão.

  5. Adicione outros filtros de exclusão conforme necessário.

  6. Se necessário, adicione filtros de inclusão.

Ao usar o AWS CLI, você deve usar aspas simples (') ao redor do filtro e um | (pipe) como delimitador se você tiver mais de um filtro.

O exemplo a seguir especifica dois filtros de exclusão */temp e */tmp ao executar o comando create-task.

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'