Skip to main content

SFTP

O módulo SFTP é responsável por acessar um servidor SFTP (SSH File Transfer Protocol) e realizar manipulação de arquivos e diretórios de forma segura via SSH.

Métodos

connect

Método responsável por conectar em um servidor SFTP. Essa conexão será usada para todas as outras ações do módulo. Suporta autenticação por usuário e senha ou por chave privada.

const connection = await SFTP.connect.v1_0_0({
host: "sftp.servidor.com",
port: 22,
user: "usuario",
password: "senha"
})

Parâmetros obrigatórios

  • host: String - espera o endereço do servidor SFTP (IP ou hostname).
  • port: Number - espera o número da porta do servidor SFTP. A porta padrão é 22.

Parâmetros opcionais

  • user: String - espera o nome do usuário para autenticação no servidor.
  • password: String - espera a senha do usuário para autenticação no servidor.
  • privateKey: String - espera o caminho completo do arquivo de chave privada no computador local para autenticação por chave SSH.
  • passphrase: String - espera a frase secreta utilizada para descriptografar a chave privada, caso ela esteja protegida. Só pode ser utilizada em conjunto com privateKey.
  • readyTimeout: Number - tempo limite em milissegundos para estabelecer a conexão.
  • keepaliveInterval: Number - intervalo em milissegundos para envio de pacotes keep-alive, mantendo a conexão ativa durante períodos de inatividade.

Retorno

A constante ou variável criada, como a connection do exemplo mostrado anteriormente, receberá a instância de conexão SFTP, que deve ser passada como parâmetro connection em todos os outros métodos do módulo SFTP.

list

Ação responsável por listar todo o conteúdo de um diretório no servidor SFTP.

const list = await SFTP.list.v1_0_0({
connection: connection,
path: '/documentos'
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • path: String - espera uma string com o caminho do diretório que terá seu conteúdo listado. Use / para o diretório raiz.

Retorno

A constante ou variável criada, como a list do exemplo mostrado anteriormente, receberá um objeto com as seguintes propriedades:

  • list.count: Number - retorna o total de itens encontrados no diretório.
  • list.items: Array - array com os itens encontrados. Cada item possui as seguintes propriedades:
    • items[n].isDirectory: Boolean - indica se o item é um diretório.
    • items[n].isFile: Boolean - indica se o item é um arquivo.
    • items[n].name: String - nome do arquivo ou diretório.
    • items[n].path: String - caminho completo do item no servidor.
    • items[n].size: Number - tamanho em bytes do arquivo ou diretório.
    • items[n].date: Date - data da última modificação.

createDir

Ação responsável por criar um diretório no servidor SFTP.

const createDir = await SFTP.createDir.v1_0_0({
connection: connection,
path: '/documentos/novapasta',
recursive: true
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • path: String - espera uma string com o caminho completo do diretório a ser criado.
  • recursive: Boolean - indica se as pastas intermediárias do caminho devem ser criadas automaticamente caso não existam.

Retorno

A constante ou variável criada receberá um objeto com as seguintes propriedades:

  • createDir.created: String - indica o resultado da operação: created se o diretório foi criado, ou already exists se já existia.
  • createDir.path: String - caminho completo do diretório no servidor.

deleteDir

Ação responsável por remover um diretório no servidor SFTP.

const deleteDir = await SFTP.deleteDir.v1_0_0({
connection: connection,
path: '/documentos/pastadeletar',
recursive: true
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • path: String - espera uma string com o caminho completo do diretório a ser removido.
  • recursive: Boolean - indica se o conteúdo do diretório (subpastas e arquivos) deve ser removido automaticamente. Sem essa opção, a remoção falhará caso o diretório não esteja vazio.

Retorno

Este método não possui retorno.

getFile

Ação responsável por fazer o download de um arquivo do servidor SFTP para o computador local.

const getFile = await SFTP.getFile.v1_0_0({
connection: connection,
remotePath: '/documentos/relatorio.pdf',
localPath: 'C:\\Usuários\\Roberty\\Downloads\\relatorio.pdf'
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • remotePath: String - espera uma string com o caminho completo do arquivo no servidor SFTP, incluindo nome e extensão.
  • localPath: String - espera uma string com o caminho completo onde o arquivo será salvo no computador local, incluindo nome e extensão.

Retorno

Este método não possui retorno.

putFile

Ação responsável por fazer o upload de um arquivo do computador local para o servidor SFTP.

const putFile = await SFTP.putFile.v1_0_0({
connection: connection,
localPath: 'C:\\Usuários\\Roberty\\documentos\\relatorio.pdf',
remotePath: '/documentos/relatorio.pdf'
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • localPath: String - espera uma string com o caminho completo do arquivo no computador local, incluindo nome e extensão.
  • remotePath: String - espera uma string com o caminho completo de destino no servidor SFTP, incluindo nome e extensão.

Retorno

Este método não possui retorno.

deleteFile

Ação responsável por remover um arquivo no servidor SFTP.

const deleteFile = await SFTP.deleteFile.v1_0_0({
connection: connection,
path: '/documentos/arquivo.pdf'
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • path: String - espera uma string com o caminho completo do arquivo a ser removido no servidor, incluindo nome e extensão.

Retorno

Este método não possui retorno.

move

Ação responsável por renomear ou mover um arquivo ou diretório no servidor SFTP.

const move = await SFTP.move.v1_0_0({
connection: connection,
oldPath: '/documentos/relatorio-antigo.pdf',
newPath: '/arquivos/relatorio.pdf'
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.
  • oldPath: String - espera uma string com o caminho atual do arquivo ou diretório no servidor.
  • newPath: String - espera uma string com o novo caminho do arquivo ou diretório no servidor. Informe o mesmo diretório com nome diferente para renomear, ou um diretório diferente para mover.

Retorno

Este método não possui retorno.

disconnect

Ação responsável por encerrar a conexão ativa com o servidor SFTP.

const disconnect = await SFTP.disconnect.v1_0_0({
connection: connection
})

Parâmetros obrigatórios

  • connection: espera a instância de conexão retornada pelo método connect.

Retorno

Este método não possui retorno.