Pular para o conteúdo principal
Módulos

SFTP

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.

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

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

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

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

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

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

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

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

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