

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á.

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

Este tópico descreve como realizar as operações de arquivo suportadas usando seu conector SFTP. Você também pode encontrar exemplos de comandos para realizar essas operações selecionando os detalhes do seu conector no AWS Transfer Family console em [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

Depois de criar um conector SFTP, você pode usá-lo para realizar as seguintes operações de arquivo no servidor SFTP remoto ao qual ele está associado.
+ Envie arquivos do Amazon S3 para o servidor SFTP remoto.
+ Recupere arquivos do servidor SFTP remoto para o Amazon S3.
+ Listar arquivos e subpastas de um diretório no servidor SFTP remoto.
+ Exclua, renomeie ou mova arquivos e diretórios no servidor SFTP remoto.

Consulte [Criação de conectores SFTP](configure-sftp-connector.md) para obter detalhes sobre a criação de conectores.

**Topics**
+ [Transferir arquivos](transfer-files-and-track.md)
+ [Listar o conteúdo de um diretório remoto](sftp-connector-list-dir.md)
+ [Mover, renomear ou excluir arquivos ou diretórios no servidor remoto](move-delete-remote-files.md)

# Transferir arquivos
<a name="transfer-files-and-track"></a>

**Topics**
+ [Enviar e recuperar arquivos usando um conector SFTP](#send-retrieve-connector-details)

## Enviar e recuperar arquivos usando um conector SFTP
<a name="send-retrieve-connector-details"></a>

Para enviar e recuperar arquivos usando um conector SFTP, você usa a operação de [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html)API e especifica os parâmetros a seguir, dependendo se você está *enviando arquivos* (transferências de saída) ou *recebendo arquivos* (transferências de entrada). Observe que cada `StartFileTransfer` solicitação pode conter 10 caminhos distintos. 

**nota**  
 Por padrão, os conectores SFTP processam um arquivo por vez, transferindo arquivos sequencialmente. Você tem a opção de acelerar o desempenho da transferência fazendo com que seus conectores criem sessões simultâneas com servidores remotos que suportem sessões simultâneas do mesmo usuário e processem até 5 arquivos em paralelo.   
 Para habilitar conexões simultâneas para qualquer conector, você pode editar a configuração **Máximo de conexões simultâneas** ao criar ou atualizar um conector. Para obter detalhes, consulte [Crie um conector SFTP com saída gerenciada por serviços](create-sftp-connector-procedure.md). 
+ **Transferências de saída** 
  + `send-file-paths` contém de um a dez caminhos de arquivo de origem, para que os arquivos sejam transferidos para o servidor SFTP do parceiro.
  + `remote-directory-path` é o caminho remoto para o qual enviar um arquivo no servidor SFTP do cliente.
+ **Transferências de saída** 
  + `retrieve-file-paths` contém de um a dez caminhos remotos. Cada caminho especifica um local para transferir arquivos do servidor SFTP do parceiro para o servidor Transfer Family.
  + `local-directory-path` é o local do Amazon S3 (bucket e prefixo opcional) onde seus arquivos são armazenados.

Para enviar arquivos, você especifica os parâmetros `send-file-paths` e `remote-directory-path`. É possível especificar até 10 arquivos para o parâmetro `send-file-paths`. O comando de exemplo a seguir envia os arquivos nomeados `/amzn-s3-demo-source-bucket/file1.txt` e `/amzn-s3-demo-source-bucket/file2.txt`, localizados no armazenamento do Amazon S3, para o diretório `/tmp` no servidor SFTP do seu parceiro. Para usar este comando de exemplo, substitua `amzn-s3-demo-source-bucket` pelo seu próprio 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 arquivos, você especifica os `local-directory-path` parâmetros `retrieve-file-paths` e. O exemplo a seguir recupera os arquivos `/my/remote/file1.txt` e o servidor SFTP do parceiro e os coloca `/my/remote/file2.txt` no local /amzn-s3-demo-bucket/ do Amazon S3. *prefix* Para usar esse exemplo de comando, substitua os `user input placeholders` por suas próprias informações.

```
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
```

Os exemplos anteriores especificam caminhos absolutos no servidor SFTP. É possível também usar caminhos relativos: ou seja, caminhos relativos ao diretório inicial do usuário do SFTP. Por exemplo, se o usuário do SFTP estiver `marymajor` e seu diretório inicial no servidor SFTP for `/users/marymajor/`, o comando a seguir envia `/amzn-s3-demo-source-bucket/file1.txt` para `/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 o conteúdo de um diretório remoto
<a name="sftp-connector-list-dir"></a>

Antes de recuperar arquivos de um servidor SFTP remoto, você pode recuperar o conteúdo de um diretório no servidor SFTP remoto. Para fazer isso, você usa o [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html)Operação da API.

O exemplo a seguir lista o conteúdo da `home` pasta no servidor SFTP remoto, que é especificado na configuração do conector. Os resultados são colocados no local `/amzn-s3-demo-bucket/connector-files` do Amazon S3 e em um arquivo chamado. `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
```

Esse AWS CLI comando retorna uma ID de listagem e o nome do arquivo que contém os resultados.

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

**nota**  
A convenção de nomenclatura para o arquivo de saída é`connector-ID-listing-ID.json`.

O arquivo JSON contém as seguintes informações:
+ `filePath`: o caminho completo de um arquivo remoto, relativo ao diretório da solicitação de listagem do seu conector SFTP no servidor remoto.
+ `modifiedTimestamp`: a última vez em que o arquivo foi modificado, em segundos, no formato UTC (Tempo Universal Coordenado). Esse campo é opcional. Se os atributos do arquivo remoto não contiverem um carimbo de data/hora, ele será omitido da lista de arquivos.
+ `size`: o tamanho do arquivo, em bytes. Esse campo é opcional. Se os atributos do arquivo remoto não contiverem um tamanho de arquivo, ele será omitido da lista de arquivos.
+ `path`: o caminho completo de um diretório remoto, relativo ao diretório da solicitação de listagem do seu conector SFTP no servidor remoto.
+ `truncated`: um sinalizador indicando se a saída da lista contém todos os itens contidos no diretório remoto ou não. Se o valor `truncated` de saída for verdadeiro, você poderá aumentar o valor fornecido no atributo `max-items` de entrada opcional para poder listar mais itens (até o tamanho máximo permitido da lista de 10.000 itens).

Veja a seguir um exemplo do conteúdo do arquivo de saída (`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`), em que o diretório remoto contém dois arquivos e dois subdiretórios (caminhos).

```
{
    "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"
}
```

# Mover, renomear ou excluir arquivos ou diretórios no servidor remoto
<a name="move-delete-remote-files"></a>

**Topics**
+ [Mover ou renomear arquivos ou diretórios no servidor SFTP remoto](#move-remote-file)
+ [Excluir arquivos ou diretórios no servidor SFTP remoto](#delete-remote-file)

## Mover ou renomear arquivos ou diretórios no servidor SFTP remoto
<a name="move-remote-file"></a>

Você pode usar um conector SFTP para mover ou renomear arquivos e diretórios em um servidor SFTP remoto. Observe que o servidor remoto precisa oferecer suporte a essas operações para que o processamento seja bem-sucedido usando conectores.

Alguns casos de uso comuns são os seguintes.
+ Um servidor remoto gera ou recebe um novo arquivo a cada hora, com o mesmo nome de arquivo, mas com um registro de data e hora diferente. Para manter a pasta principal atualizada (para que ela contenha somente o arquivo mais recente), você pode usar um conector para mover arquivos antigos para uma pasta arquivada.
+ Você usa um conector para listar todos os arquivos em um diretório remoto e, em seguida, transfere todos os arquivos para o armazenamento local. Em seguida, você pode usar um conector para mover os arquivos para uma pasta arquivada no servidor remoto.

Você deve usar uma `StartRemoteMove` chamada para cada arquivo ou diretório que deseja processar, pois o comando usa um único arquivo ou diretório de origem e destino como argumentos. No entanto, você pode acelerar o desempenho fazendo com que seus conectores criem sessões simultâneas com servidores remotos que suportam sessões simultâneas do mesmo usuário e move/rename até 5 arquivos em paralelo.

O exemplo a seguir move um arquivo no servidor SFTP remoto de `/source/folder/sourceFile` para `/destination/targetFile` e retorna um identificador exclusivo para a operação.

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

**nota**  
Para as move/rename operações, o Transfer Family usa o `SFTP SSH_FXP_RENAME` comando padrão para fazer a move/rename operação.

## Excluir arquivos ou diretórios no servidor SFTP remoto
<a name="delete-remote-file"></a>

Você pode usar um conector SFTP para excluir arquivos ou diretórios em um servidor SFTP remoto. Observe que o servidor remoto precisa oferecer suporte a essas operações para que o processamento seja bem-sucedido usando conectores.

**nota**  
As operações de exclusão para diretórios remotos são suportadas somente para diretórios vazios.

Alguns casos de uso comuns são os seguintes.
+ Você usa um conector para recuperar um arquivo de um servidor SFTP remoto, armazená-lo em seu bucket do Amazon S3 e criptografá-lo. Finalmente, você pode usar um conector para excluir o arquivo não criptografado no servidor remoto.
+ Você usa um conector para listar todos os arquivos em um diretório remoto e, em seguida, transfere todos os arquivos para o armazenamento local. Em seguida, você pode usar um conector para excluir todos os arquivos que você transferiu. Você também pode excluir o diretório remoto, se preferir.

Você deve usar uma `StartRemoteDelete` chamada para cada arquivo ou diretório que deseja excluir, pois o comando usa um único arquivo ou diretório como argumento. No entanto, você pode acelerar o desempenho fazendo com que seus conectores criem sessões simultâneas com servidores remotos que suportem sessões simultâneas do mesmo usuário e excluam até 5 em files/directories paralelo.

O exemplo a seguir exclui um arquivo no servidor SFTP remoto no caminho `/delete/folder/deleteFile` e retorna um identificador exclusivo para a operação.

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

**nota**  
Para a operação de exclusão, o Transfer Family usa o `SSH_FXP_REMOVE` comando padrão para excluir um arquivo e `SSH_FXP_RMDIR` excluir um diretório.