SFTP
SFTP
El módulo SFTP es responsable de acceder a un servidor SFTP (SSH File Transfer Protocol) y realizar la manipulación de archivos y directorios de forma segura vía SSH.
Métodos
connect
Método responsable de conectarse a un servidor SFTP. Esa conexión será usada para todas las otras acciones del módulo. Admite autenticación por usuario y contraseña o por clave privada.
const connection = await SFTP.connect.v1_0_0({
host: "sftp.servidor.com",
port: 22,
user: "usuario",
password: "senha"
})
Parámetros obligatorios
host: String - espera la dirección del servidor SFTP (IP o hostname).port: Number - espera el número del puerto del servidor SFTP. El puerto predeterminado es22.
Parámetros opcionales
user: String - espera el nombre del usuario para la autenticación en el servidor.password: String - espera la contraseña del usuario para la autenticación en el servidor.privateKey: String - espera la ruta completa del archivo de clave privada en la computadora local para la autenticación por clave SSH.passphrase: String - espera la frase secreta utilizada para descifrar la clave privada, en caso de que esté protegida. Solo puede utilizarse junto conprivateKey.readyTimeout: Number - tiempo límite en milisegundos para establecer la conexión.keepaliveInterval: Number - intervalo en milisegundos para el envío de paquetes keep-alive, manteniendo la conexión activa durante períodos de inactividad.
Retorno
La constante o variable creada, como la connection del ejemplo mostrado anteriormente, recibirá la instancia de conexión SFTP, que debe pasarse como parámetro connection en todos los otros métodos del módulo SFTP.
list
Acción responsable de listar todo el contenido de un directorio en el servidor SFTP.
const list = await SFTP.list.v1_0_0({
connection: connection,
path: '/documentos'
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.path: String - espera un string con la ruta del directorio cuyo contenido será listado. Usa/para el directorio raíz.
Retorno
La constante o variable creada, como la list del ejemplo mostrado anteriormente, recibirá un objeto con las siguientes propiedades:
list.count: Number - devuelve el total de elementos encontrados en el directorio.list.items: Array - array con los elementos encontrados. Cada elemento tiene las siguientes propiedades:items[n].isDirectory: Boolean - indica si el elemento es un directorio.items[n].isFile: Boolean - indica si el elemento es un archivo.items[n].name: String - nombre del archivo o directorio.items[n].path: String - ruta completa del elemento en el servidor.items[n].size: Number - tamaño en bytes del archivo o directorio.items[n].date: Date - fecha de la última modificación.
createDir
Acción responsable de crear un directorio en el servidor SFTP.
const createDir = await SFTP.createDir.v1_0_0({
connection: connection,
path: '/documentos/novapasta',
recursive: true
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.path: String - espera un string con la ruta completa del directorio que será creado.recursive: Boolean - indica si las carpetas intermedias de la ruta deben crearse automáticamente en caso de que no existan.
Retorno
La constante o variable creada recibirá un objeto con las siguientes propiedades:
createDir.created: String - indica el resultado de la operación:createdsi el directorio fue creado, oalready existssi ya existía.createDir.path: String - ruta completa del directorio en el servidor.
deleteDir
Acción responsable de eliminar un directorio en el servidor SFTP.
const deleteDir = await SFTP.deleteDir.v1_0_0({
connection: connection,
path: '/documentos/pastadeletar',
recursive: true
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.path: String - espera un string con la ruta completa del directorio que será eliminado.recursive: Boolean - indica si el contenido del directorio (subcarpetas y archivos) debe eliminarse automáticamente. Sin esta opción, la eliminación fallará si el directorio no está vacío.
Retorno
Este método no tiene retorno.
getFile
Acción responsable de descargar un archivo del servidor SFTP a la computadora 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 obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.remotePath: String - espera un string con la ruta completa del archivo en el servidor SFTP, incluyendo nombre y extensión.localPath: String - espera un string con la ruta completa donde el archivo será guardado en la computadora local, incluyendo nombre y extensión.
Retorno
Este método no tiene retorno.
putFile
Acción responsable de cargar un archivo de la computadora local al 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 obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.localPath: String - espera un string con la ruta completa del archivo en la computadora local, incluyendo nombre y extensión.remotePath: String - espera un string con la ruta completa de destino en el servidor SFTP, incluyendo nombre y extensión.
Retorno
Este método no tiene retorno.
deleteFile
Acción responsable de eliminar un archivo en el servidor SFTP.
const deleteFile = await SFTP.deleteFile.v1_0_0({
connection: connection,
path: '/documentos/arquivo.pdf'
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.path: String - espera un string con la ruta completa del archivo que será eliminado en el servidor, incluyendo nombre y extensión.
Retorno
Este método no tiene retorno.
move
Acción responsable de renombrar o mover un archivo o directorio en el servidor SFTP.
const move = await SFTP.move.v1_0_0({
connection: connection,
oldPath: '/documentos/relatorio-antigo.pdf',
newPath: '/arquivos/relatorio.pdf'
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.oldPath: String - espera un string con la ruta actual del archivo o directorio en el servidor.newPath: String - espera un string con la nueva ruta del archivo o directorio en el servidor. Indica el mismo directorio con un nombre diferente para renombrar, o un directorio diferente para mover.
Retorno
Este método no tiene retorno.
disconnect
Acción responsable de cerrar la conexión activa con el servidor SFTP.
const disconnect = await SFTP.disconnect.v1_0_0({
connection: connection
})
Parámetros obligatorios
connection: espera la instancia de conexión devuelta por el métodoconnect.
Retorno
Este método no tiene retorno.