> For the complete documentation index, see [llms.txt](https://docs.digibee.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/file-storage/sftp.md).

# SFTP

O **SFTP** se conecta a um serviço que suporte o protocolo SFTP (*Secure File Transfer Protocol* ou *SSH File Transfer*) para fazer operações de *Upload*, *Delete*, *Download*, *List* e *Move* com arquivos.

## Parâmetros&#x20;

Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por [expressões *Double Braces*](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados com `(DB)`.

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Operation</strong></td><td>Operação a ser executada: <em>Upload</em>, <em>Delete</em>, <em>Download</em>, <em>List</em> ou <em>Move.</em></td><td><em>Upload</em></td><td><em>String</em></td></tr><tr><td><strong>Account #1</strong></td><td>Conta do tipo <em>Basic</em> ou <em>Private key</em>.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Account #2</strong></td><td>Conta do tipo <em>Basic</em> ou <em>Private key</em>.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Host</strong> <code>(DB)</code></td><td><em>Host</em> ou endereço IP a ser usado na conexão.</td><td>ftp.server.com.br</td><td><em>String</em></td></tr><tr><td><strong>Username</strong> <code>(DB)</code></td><td>Usado apenas quando o tipo de conta for <em>Private key</em>. Se as contas <em>Basic</em> e <em>Private Key</em> estiverem definidas, esse parâmetro será ignorado devido à presença do <em>username</em> da conta <em>Basic</em>. </td><td><em>User</em></td><td><em>String</em></td></tr><tr><td><strong>Port</strong> <code>(DB)</code></td><td>Número da porta. Geralmente, assume valor 22 </td><td>22</td><td>Inteiro</td></tr><tr><td><strong>Server Host Key</strong></td><td>Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de <em>server host key</em>. Cada algoritmo deve ser configurado separadamente.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Public Key Algorithms</strong></td><td>Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de algoritmos <em>public key</em>. Cada algoritmo deve ser configurado separadamente.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>KEX Algorithms</strong></td><td>Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de algoritmos <em>KEX (key exchange)</em>. Cada algoritmo deve ser configurado separadamente.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>File Name</strong> <code>(DB)</code></td><td>Nome do arquivo ou caminho completo (ex:  tmp/processed/file.txt) para o arquivo. </td><td>local-test.pdf</td><td><em>String</em></td></tr><tr><td><strong>Remote File Name</strong> <code>(DB)</code></td><td>Nome do arquivo ou caminho completo (ex: tmp/processed/file.txt) para o arquivo remoto.</td><td>test.pdf</td><td><em>String</em></td></tr><tr><td><strong>Remote Directory</strong> <code>(DB)</code></td><td>Diretório remoto base, pode ser relativo (ex:. pub/tmp) ou absoluto (ex: /root/pub).</td><td><em>Folder</em></td><td><em>String</em></td></tr><tr><td><strong>Connection Timeout</strong></td><td>Tempo limite de expiração da conexão com o servidor (em milissegundos).</td><td>30000</td><td>Inteiro</td></tr><tr><td><strong>Overwrite File On Upload</strong></td><td>Se a opção estiver ativada, arquivos com nomes confiltantes serão substituídos ao fazer um <em>upload.</em></td><td><em>True</em></td><td>Booleano</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se a opção estiver ativada, a execução do <em>pipeline</em> com erro será interrompida; do contrário, a execução do <em>pipeline</em> continua, mas o resultado vai mostrar um valor falso para a propriedade "success".</td><td><em>False</em></td><td>Booleano</td></tr><tr><td><strong>Proxy Enabled</strong></td><td>Se a opção estiver ativada, você poderá configurar um <em>proxy</em> para estabelecer a conexão com o serviço de SFTP.</td><td><em>False</em></td><td>Booleano</td></tr><tr><td><strong>Host</strong> (Proxy) <code>(DB)</code></td><td><em>Host</em> do <em>proxy.</em> Disponível apenas se <strong>Proxy Enabled</strong> estiver ativado. </td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Port</strong> (Proxy) <code>(DB)</code></td><td>Porta do <em>proxy.</em>. Disponível apenas se <strong>Proxy Enabled</strong> estiver ativado. O valor deve ser maior ou igual a 80. </td><td>N/A</td><td>Inteiro</td></tr><tr><td><strong>Use Dynamic Account</strong></td><td>Quando a opção estiver ativada, o componente irá usar a conta dinamicamente. Quando estiver desativada, a conta será usada estaticamente.</td><td><em>False</em></td><td>Booleano</td></tr><tr><td><strong>Account Name #1</strong></td><td>Nome da conta a ser definida. O nome da conta deve ser gerado dinamicamente através do componente <strong>Store Account</strong>.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Account Name #2</strong></td><td>Nome da conta a ser definida. O nome da conta deve ser gerado dinamicamente através do componente <strong>Store Account</strong>.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Scoped</strong></td><td><p>Quando a opção estiver ativada, a conta armazenada é isolada para outro sub-processo. Nesse caso, os sub-processos verão sua própria versão dos dados da conta armazenada. </p><p><br>Para saber mais sobre a funcionalidade <strong>Scoped</strong>, leia a <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/FrKJOmsImCRBImMPMsU2">documentação de Suporte a credenciais dinâmicas</a>.</p></td><td><em>False</em></td><td>Booleano</td></tr></tbody></table>

{% hint style="info" %}
**Informações importantes:**

* O conector SFTP usa uma biblioteca de implementação que desativou por padrão algoritmos específicos que foram considerados inseguros. Os parâmetros **Server Host Key**, **Public Key Algorithms** e **KEX Algorithms** estão disponíveis para quando for necessário ativar estes algoritmos para estabelecer uma conexão SFTP. Embora seja possível usar essa configuração, não é recomendável usar algoritmos inseguros.
* Atualmente, os parâmetros **Use Dynamic Account**, **Account Name** e **Scoped** podem ser usados apenas no Pipeline Engine v2.
  {% endhint %}

## **Fluxo de mensagens** <a href="#fluxo-de-mensagens" id="fluxo-de-mensagens"></a>

### **Saída**

Ao executar um componente **SFTP** utilizando as operações *Download, Upload* ou M*ove*, a seguinte estrutura de JSON será gerada:

```
{
    "fileName": "picture.png",
    "remoteFileName": "imap-console-client.png",
    "remoteDirectory": "pub/example",
    "success": "true"
}
```

* **fileName:** nome do arquivo local.
* **remoteFileName:** caminho do arquivo remoto ou caminho relativo do arquivo remoto.
* **remoteDirectory:** caminho do diretório remoto base (relativo ou absoluto).
* **success:** "true" se a operação foi bem sucedida, "false" caso contrário.

Ao executar um componente **SFTP** utilizando a operação *List*, a seguinte estrutura de JSON será gerada:

```
{
   "remoteDirectory":"pub/example",
   "success":true,
   "content":[
      {
         "file":"file.txt",
         "isDirectory":false,
         "size":1024,
         "permission":"-rwxrwxrwx",
         "flag":14,
         "accessed":"Sat Jan 14 09:21:05 UTC 2023",
         "modified":"Sat Jan 14 09:21:05 UTC 2023"
      }
   ]
}
```

* **remoteDirectory:** caminho do diretório remoto base (relativo ou absoluto).
* **success:** "true" se a operação foi bem sucedida, "false" caso contrário.
* **content:** a lista de arquivos no *remoteDirectory.*
* **file:** nome do arquivo.
* **size:** tamanho do arquivo.
* **isDirectory:** se o objeto retornado é um diretório, será exibido “true”; se for um arquivo, será exibido “false”.
* **permissions:** uma *string* contendo o tipo de permissão dada ao objeto.
* **accessed:** data do último acesso.
* **modified:** data da última modificação.
* **flag:** retorna *flags*, indicando quais atributos estão presentes.

{% hint style="info" %}
A manipulação de arquivos dentro de um *pipeline* ocorre de forma protegida. Os arquivos ficam disponíveis em diretório temporário que somente o *pipeline* sendo executado tem acesso.
{% endhint %}

Para entender melhor o fluxo das mensagens na Digibee Integration Platform, [leia a documentação sobre Processamento de mensagens](/documentation/developer-guide/pt-br/development-cycle/build-overview/pipelines/messages-processing.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/file-storage/sftp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
