

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Transferencia de archivos, objetos y carpetas específicos mediante filtros
<a name="filtering"></a>

AWS DataSync permite aplicar filtros para incluir o excluir datos de la ubicación de origen en una transferencia. Por ejemplo, si no quiere transferir archivos temporales con la extensión `.tmp`, puede crear un filtro de exclusión para impedir que estos archivos se transfieran a la ubicación de destino.

Puede utilizar una combinación de filtros de exclusión e inclusión en la misma tarea de transferencia. Si modifica los filtros de una tarea, esos cambios se aplicarán la próxima vez que ejecute la tarea.

## Definiciones, sintaxis y términos relacionados con los filtros
<a name="filter-overview"></a>

Familiarícese con los conceptos relacionados con el DataSync filtrado:

**Filtro **  
La cadena completa que constituye un filtro determinado (por ejemplo, `*.tmp``|``*.temp` o `/folderA|/folderB`).  
Los filtros se componen de patrones que están delimitados por caracteres de barra vertical (\|). No necesita un delimitador cuando agrega patrones en la DataSync consola porque agrega cada patrón por separado.  
Los filtros distinguen entre mayúsculas y minúsculas. Por ejemplo, el filtro `/folderA` no coincide con `/FolderA`.

**Patrón**  
Un patrón de un filtro. Por ejemplo, `*.tmp` es un patrón que forma parte del filtro `*.tmp``|``*.temp`. Si el filtro tiene varios patrones, debe delimitar cada patrón mediante una barra vertical (\|).

**Carpetas**  
+ Todos los filtros se expresan con relación a la ruta de la ubicación de origen. Por ejemplo, supongamos que especifica `/my_source/` como la ruta de origen cuando crea su ubicación de origen y tarea y que especifica el filtro de inclusión `/transfer_this/`. En este caso, DataSync transfiere solo el directorio `/my_source/transfer_this/` y su contenido.
+ Para especificar una carpeta situada directamente en la ubicación de origen, incluya una barra inclinada (/) delante de del nombre de la carpeta. En el ejemplo anterior, el patrón utiliza `/transfer_this`, no `transfer_this`.
+ DataSync interpreta los siguientes patrones de la misma manera y hace coincidir tanto la carpeta como su contenido.

  `/dir` 

  `/dir/`
+ Cuando transfiera datos desde o hacia un depósito de Amazon S3, DataSync trata el `/` carácter de la clave del objeto como el equivalente a una carpeta de un sistema de archivos.

**Caracteres especiales**  
A continuación, se muestran los caracteres especiales que se utilizan en los filtros.  


<table>
<thead>
  <tr><th>Carácter especial</th><th>Description (Descripción)</th></tr>
</thead>
<tbody>
  <tr><td><code>*</code> (comodín)</td><td>Carácter que representa cero o más caracteres. Por ejemplo, <code>/movies_folder*</code> coincide con <code>/movies_folder</code> y con <code>/movies_folder1</code>.</td></tr>
  <tr><td><code>|</code> (barra vertical)</td><td>Carácter que se utiliza como delimitador de patrones. Permite especificar varios patrones distintos que pueden coincidir con el filtro. Por ejemplo, <code>*.tmp</code><code>|</code><code>*.temp</code> coincide con los archivos que tienen la extensión <code>tmp</code> o <code>temp</code>. No es necesario utilizar este delimitador cuando se añaden patrones en la consola porque cada patrón se añade en su propia línea. </td></tr>
  <tr><td><code>\</code> (barra diagonal invertida)</td><td>Un carácter se utiliza como carácter de escape (*, |, \) en un archivo o un objeto. <br />Es necesario utilizar una barra diagonal invertida doble (\\) cuando un nombre de archivo contiene una barra diagonal invertida. Del mismo modo, \\\\ representa dos barras diagonales invertidas consecutivas en el nombre de un archivo. <br />Es necesario utilizar una barra diagonal invertida seguida de una barra vertical (\|) cuando un nombre de archivo contiene una barra vertical.<br />No se tiene en cuenta una (\) seguida de cualquier otro carácter o situada al final de un patrón.</td></tr>
</tbody>
</table>


## Ejemplos de filtros
<a name="sample-filters"></a>

En los siguientes ejemplos se muestran los filtros habituales con los que puede utilizar DataSync.

**nota**  
Existen límites en cuanto al número de caracteres que puede utilizar en un filtro. Para obtener más información, consulte [Cuotas de DataSync](datasync-limits.md#task-hard-limits).

**Excluir algunas carpetas de la ubicación de origen**  
En algunos casos, es posible que tenga que excluir carpetas de la ubicación de origen para que no se copien en la de destino. Por ejemplo, si tienes work-in-progress carpetas temporales, puedes usar algo como el siguiente filtro:

`*/.temp`

Para excluir carpetas con contenido similar (como `/reports2021` y`/reports2022)`), puede usar un filtro de exclusión como el siguiente:

`/reports*`

Para excluir carpetas de cualquier nivel de la jerarquía de archivos, puede usar un filtro de exclusión similar al siguiente. 

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

Para excluir carpetas en el nivel superior de la ubicación de origen, puede usar un filtro de exclusión similar al siguiente. 

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

**Inclusión de un subconjunto de las carpetas de la ubicación de origen**  
En algunos casos, la ubicación de origen podría ser un recurso compartido de archivos de gran tamaño y podría ser necesario transferir parte de las carpetas situadas bajo la carpeta raíz. Para incluir carpetas específicas, comience una ejecución de tarea con un filtro de inclusión similar al siguiente.

`/folder-to-transfer/*`

**Excluir tipos de archivos específicos**  
Para excluir determinados tipos de archivos de la transferencia, puede crear una ejecución de tarea con un filtro de exclusión como por ejemplo `*.temp`.

**Transferencia de determinados archivos que especifique**  
Para transferir una lista de archivos individuales, inicie una ejecución de tarea con un filtro de inclusión como el siguiente: “`/folder/subfolder/file1.txt`\|`/folder/subfolder/file2.txt`\|`/folder/subfolder/file2.txt`”

## Creación de filtros de inclusión
<a name="include-filters"></a>

Los filtros de inclusión definen los archivos, objetos y carpetas que DataSync desea transferir. Puede configurar estos filtros al crear, editar o comenzar una tarea.

DataSync escanea y transfiere solo los archivos y carpetas que coinciden con los filtros de inclusión. Por ejemplo, para incluir un subconjunto de las carpetas de origen, puede especificar `/important_folder_1`\|`/important_folder_2`. 

**nota**  
Los filtros de inclusión únicamente admiten el carácter (\*) como último carácter de un patrón. Por ejemplo, se admite `/documents*`\|`/code*` pero no `*.txt`.

### Uso de la DataSync consola
<a name="include-filters-console"></a>

1. Abra la AWS DataSync consola en [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/).

1. En el panel de navegación de la izquierda, seleccione **Tasks (Tareas)** y, a continuación, seleccione **Create task (Crear tarea)**.

1. Configure las ubicaciones de origen y destino de la tarea.

   Para obtener más información, consulte [¿Dónde puedo transferir mis datos AWS DataSync?](working-with-locations.md)

1. Para **Contenido a digitalizar**, seleccione **Archivos, objetos y carpetas específicos** y, a continuación, seleccione **Uso de filtros**.

1. En **Incluye**, introduzca su filtro (por ejemplo, `/important_folders` para incluir un directorio importante) y, a continuación, seleccione **Añadir patrón**.

1. Agregue otros filtros de inclusión según sea necesario. 

### Usando el AWS CLI
<a name="include-filters-cli"></a>

Al usar el AWS CLI, debe usar comillas simples (`'`) alrededor del filtro y un \| (barra vertical) como delimitador si tiene más de un filtro.

En el siguiente ejemplo se especifican dos filtros de inclusión, `/important_folder1` y `/important_folder2`, cuándo se ejecuta el 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'
```

## Creación de filtros de exclusión
<a name="exclude-filters"></a>

Los filtros de exclusión definen los archivos, objetos y carpetas de la ubicación de origen que no desea DataSync transferir. Puede configurar estos filtros al crear, editar o empezar una tarea.

**Topics**
+ [Datos excluidos de forma predeterminada](#directories-ignored-during-transfers)

### Datos excluidos de forma predeterminada
<a name="directories-ignored-during-transfers"></a>

DataSync excluye automáticamente algunos datos de la transferencia:
+ `.snapshot`— DataSync ignora cualquier ruta que termine en`.snapshot`, lo que normalmente se utiliza para obtener point-in-time instantáneas de los archivos o directorios de un sistema de almacenamiento.
+ `/.aws-datasync`y `/.awssync` — DataSync crea estas carpetas en su ubicación para facilitar la transferencia.
+ `/.zfs`— Es posible que veas esta carpeta en Amazon FSx para ubicaciones de OpenZFS.

### Uso de la consola DataSync
<a name="adding-exclude-filters"></a>

1. Abra la AWS DataSync consola en [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/).

1. En el panel de navegación de la izquierda, seleccione **Tasks (Tareas)** y, a continuación, seleccione **Create task (Crear tarea)**.

1. Configure las ubicaciones de origen y destino de la tarea.

   Para obtener más información, consulte [¿Dónde puedo transferir mis datos AWS DataSync?](working-with-locations.md)

1. En **Excluye**, introduzca el filtro (por ejemplo, `*/temp` para excluir las carpetas temporales) y, a continuación, seleccione **Añadir patrón**.

1. Agregue otros filtros de exclusión según sea necesario. 

1. Si es necesario, añada [filtros de inclusión](#include-filters).

### Usando el AWS CLI
<a name="adding-exclude-filters-cli"></a>

Al usar el AWS CLI, debe usar comillas simples (`'`) alrededor del filtro y un \| (barra vertical) como delimitador si tiene más de un filtro. 

En el siguiente ejemplo se especifican dos filtros de exclusión, `*/temp` y `*/tmp`, cuándo se ejecuta el 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'
```