

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.

# Uso de conectores SFTP
<a name="transfer-sftp-connectors"></a>

En este tema se describe cómo realizar las operaciones de archivos compatibles con el conector SFTP. También puede encontrar ejemplos de comandos para realizar estas operaciones seleccionando los detalles del conector en la AWS Transfer Family consola, en [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

Una vez creado un conector SFTP, puede usarlo para realizar las siguientes operaciones de archivo en el servidor SFTP remoto al que está asociado.
+ Envíe archivos desde Amazon S3 al servidor SFTP remoto.
+ Recupere archivos del servidor SFTP remoto a Amazon S3.
+ Enumere los archivos y subcarpetas de un directorio del servidor SFTP remoto.
+ Elimine, cambie el nombre o mueva los archivos y directorios del servidor SFTP remoto.

Para obtener información sobre cómo crear conectores, consulte [Creación de conectores SFTP](configure-sftp-connector.md).

**Topics**
+ [Transferencia de archivos](transfer-files-and-track.md)
+ [Listar el contenido de un directorio remoto](sftp-connector-list-dir.md)
+ [Mueva, cambie el nombre o elimine archivos o directorios del servidor remoto](move-delete-remote-files.md)

# Transferencia de archivos
<a name="transfer-files-and-track"></a>

**Topics**
+ [Enviar y recuperar archivos mediante un conector SFTP](#send-retrieve-connector-details)

## Enviar y recuperar archivos mediante un conector SFTP
<a name="send-retrieve-connector-details"></a>

Para enviar y recuperar archivos mediante un conector SFTP, utilice la operación [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html)API y especifique los siguientes parámetros, en función de si *envía archivos* (transferencias salientes) o *recibe archivos* (transferencias entrantes). Ten en cuenta que cada `StartFileTransfer` solicitud puede contener 10 rutas distintas. 

**nota**  
 De forma predeterminada, los conectores SFTP procesan un archivo a la vez y los transfieren secuencialmente. Tiene la opción de acelerar el rendimiento de las transferencias haciendo que sus conectores creen sesiones simultáneas con servidores remotos que admitan sesiones simultáneas del mismo usuario y procesen hasta 5 archivos en paralelo.   
 Para habilitar las conexiones simultáneas en cualquier conector, puede editar la configuración del número **máximo de conexiones simultáneas al crear o** actualizar un conector. Para obtener más información, consulte [Cree un conector SFTP con salida gestionada por el servicio](create-sftp-connector-procedure.md). 
+ **Transferencias salientes** 
  + `send-file-paths` contiene de una a diez rutas de archivos de origen, para que los archivos se transfieran al servidor SFTP del socio.
  + `remote-directory-path` es la ruta remota a la que se envía un archivo en el servidor SFTP del cliente.
+ **Transferencias entrantes** 
  + `retrieve-file-paths` contiene de una a diez rutas remotas. Cada ruta especifica una ubicación para transferir archivos desde el servidor SFTP del socio a su servidor Transfer Family.
  + `local-directory-path` es la ubicación en Amazon S3 (bucket y prefijo opcional) en la que se almacenan los archivos.

Para enviar archivos, debe especificar los parámetros `send-file-paths` y `remote-directory-path`. Puede especificar hasta 10 archivos para el parámetro `send-file-paths`. El siguiente comando de ejemplo envía los archivos denominados `/amzn-s3-demo-source-bucket/file1.txt` y `/amzn-s3-demo-source-bucket/file2.txt`, ubicados en el almacenamiento de Amazon S3, al directorio `/tmp` del servidor SFTP de su socio. Para utilizar este comando de ejemplo, sustituya `amzn-s3-demo-source-bucket` por su propio bucket.

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt /amzn-s3-demo-source-bucket/file2.txt \
    --remote-directory-path /tmp --connector-id c-1111AAAA2222BBBB3 --region us-east-2
```

Para recuperar archivos, especifique los parámetros y. `retrieve-file-paths` `local-directory-path` El siguiente ejemplo recupera los archivos `/my/remote/file1.txt` y los guarda `/my/remote/file2.txt` en el servidor SFTP del socio y los coloca en la ubicación /amzn-s3-demo-bucket/ de Amazon S3. *prefix* Para utilizar este comando de ejemplo, sustituya `user input placeholders` por su propia información.

```
aws transfer start-file-transfer --retrieve-file-paths /my/remote/file1.txt  /my/remote/file2.txt \
   --local-directory-path /amzn-s3-demo-bucket/prefix --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

Los ejemplos anteriores especifican las rutas absolutas en el servidor SFTP. También puede utilizar rutas relativas, es decir, rutas relativas al directorio de inicio del usuario de SFTP. Por ejemplo, si el usuario de SFTP es `marymajor` y su directorio de inicio en el servidor SFTP es `/users/marymajor/`, el siguiente comando envía `/amzn-s3-demo-source-bucket/file1.txt` a `/users/marymajor/test-connectors/file1.txt`.

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt \
   --remote-directory-path test-connectors --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

# Listar el contenido de un directorio remoto
<a name="sftp-connector-list-dir"></a>

Antes de recuperar los archivos de un servidor SFTP remoto, puede recuperar el contenido de un directorio del servidor SFTP remoto. Para ello, utilice el [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html)Funcionamiento de la API.

El siguiente ejemplo muestra el contenido de la `home` carpeta del servidor SFTP remoto, que se especifica en la configuración del conector. Los resultados se colocan en la ubicación `/amzn-s3-demo-bucket/connector-files` de Amazon S3 y en un archivo denominado`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`.

```
aws transfer start-directory-listing  \
   --connector-id c-AAAA1111BBBB2222C  \ 
   --output-directory-path /amzn-s3-demo-bucket/example/connector-files  \
   --remote-directory-path /home
```

Este AWS CLI comando devuelve un identificador de listado y el nombre del archivo que contiene los resultados.

```
{
    "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333",
    "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json"
}
```

**nota**  
La convención de nomenclatura del archivo de salida es`connector-ID-listing-ID.json`.

El archivo JSON contiene la siguiente información:
+ `filePath`: la ruta completa de un archivo remoto, relativa al directorio de la solicitud de listado del conector SFTP en el servidor remoto.
+ `modifiedTimestamp`: la última vez que se modificó el archivo, en segundos, en formato de hora universal coordinada (UTC). Este campo es opcional. Si los atributos del archivo remoto no contienen una marca de tiempo, se omite de la lista de archivos.
+ `size`: el tamaño del archivo, en bytes. Este campo es opcional. Si los atributos del archivo remoto no contienen un tamaño de archivo, se omite de la lista de archivos.
+ `path`: la ruta completa de un directorio remoto, relativa al directorio de la solicitud de listado del conector SFTP del servidor remoto.
+ `truncated`: un indicador que indica si el resultado de la lista contiene todos los elementos contenidos en el directorio remoto o no. Si el valor de `truncated` salida es verdadero, puede aumentar el valor proporcionado en el atributo de `max-items` entrada opcional para poder incluir más elementos (hasta el tamaño máximo de lista permitido de 10 000 elementos).

El siguiente es un ejemplo del contenido del archivo de salida (`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`), donde el directorio remoto contiene dos archivos y dos subdirectorios (rutas).

```
{
    "files": [
        {
            "filePath": "/home/what.txt",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 2323
        },
        {
            "filePath": "/home/how.pgp",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 4691
        }
    ],
    "paths": [
        {
            "path": "/home/magic"
        },
        {
            "path": "/home/aws"
        },
    ],
    "truncated": "false"
}
```

# Mueva, cambie el nombre o elimine archivos o directorios del servidor remoto
<a name="move-delete-remote-files"></a>

**Topics**
+ [Mueva o cambie el nombre de los archivos o directorios del servidor SFTP remoto](#move-remote-file)
+ [Elimine archivos o directorios del servidor SFTP remoto](#delete-remote-file)

## Mueva o cambie el nombre de los archivos o directorios del servidor SFTP remoto
<a name="move-remote-file"></a>

Puede utilizar un conector SFTP para mover o cambiar el nombre de los archivos y directorios de un servidor SFTP remoto. Tenga en cuenta que el servidor remoto debe admitir estas operaciones para que el procesamiento mediante conectores se realice correctamente.

Algunos casos de uso comunes son los siguientes.
+ Un servidor remoto genera o recibe un archivo nuevo cada hora, con el mismo nombre de archivo pero con una marca de tiempo diferente. Para mantener la carpeta principal actualizada (de forma que solo contenga el archivo más reciente), puede utilizar un conector para mover los archivos más antiguos a una carpeta archivada.
+ Se utiliza un conector para enumerar todos los archivos de un directorio remoto y, a continuación, se transfieren todos los archivos al almacenamiento local. A continuación, puede utilizar un conector para mover los archivos a una carpeta archivada en el servidor remoto.

Debe utilizar una `StartRemoteMove` llamada para cada archivo o directorio que desee procesar, ya que el comando utiliza como argumentos un único archivo o directorio de origen y de destino. Sin embargo, puede acelerar el rendimiento haciendo que sus conectores creen sesiones simultáneas con servidores remotos que admitan sesiones simultáneas del mismo usuario y move/rename hasta 5 archivos en paralelo.

El siguiente ejemplo mueve un archivo del servidor SFTP remoto de `/source/folder/sourceFile` a `/destination/targetFile` y devuelve un identificador único para la operación.

```
aws transfer --connector-id c-AAAA1111BBBB2222C start-remote-move \
   --source-path /source/folder/sourceFile --target-path /destination/targetFile
```

**nota**  
Para las move/rename operaciones, Transfer Family utiliza el `SFTP SSH_FXP_RENAME` comando estándar para realizar la move/rename operación.

## Elimine archivos o directorios del servidor SFTP remoto
<a name="delete-remote-file"></a>

Puede utilizar un conector SFTP para eliminar archivos o directorios en un servidor SFTP remoto. Tenga en cuenta que el servidor remoto debe admitir estas operaciones para que el procesamiento mediante conectores se realice correctamente.

**nota**  
Las operaciones de eliminación de directorios remotos solo se admiten en directorios vacíos.

Algunos casos de uso comunes son los siguientes.
+ Utiliza un conector para recuperar un archivo de un servidor SFTP remoto, almacenarlo en su bucket de Amazon S3 y, a continuación, cifrarlo. Por último, puede utilizar un conector para eliminar el archivo no cifrado del servidor remoto.
+ Utiliza un conector para enumerar todos los archivos de un directorio remoto y, a continuación, los transfiere a su almacenamiento local. A continuación, puede utilizar un conector para eliminar todos los archivos que ha transferido. También puede eliminar el directorio remoto si lo prefiere.

Debe utilizar una `StartRemoteDelete` llamada para cada archivo o directorio que desee eliminar, ya que el comando utiliza un único archivo o directorio como argumento. Sin embargo, puede acelerar el rendimiento haciendo que sus conectores creen sesiones simultáneas con servidores remotos que admitan sesiones simultáneas del mismo usuario y eliminen hasta 5 en files/directories paralelo.

En el siguiente ejemplo, se elimina un archivo del servidor SFTP remoto de la ruta `/delete/folder/deleteFile` y se devuelve un identificador único para la operación.

```
aws transfer start-remote-delete --connector-id c-AAAA1111BBBB2222C \
   --delete-path /delete/folder/deleteFile
```

**nota**  
Para la operación de eliminación, Transfer Family utiliza el `SSH_FXP_REMOVE` comando estándar para eliminar un archivo y `SSH_FXP_RMDIR` un directorio.