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 comprivateKey.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étodoconnect.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étodoconnect.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:createdse o diretório foi criado, oualready existsse 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étodoconnect.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étodoconnect.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étodoconnect.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étodoconnect.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étodoconnect.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étodoconnect.
Retorno
Este método não possui retorno.