Saltar al contenido principal
Módulos

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.

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

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 con privateKey.
  • 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.

js
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étodo connect.
  • 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.

js
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étodo connect.
  • 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: created si el directorio fue creado, o already exists si 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.

js
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étodo connect.
  • 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.

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 obligatorios

  • connection: espera la instancia de conexión devuelta por el método connect.
  • 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.

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 obligatorios

  • connection: espera la instancia de conexión devuelta por el método connect.
  • 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.

js
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étodo connect.
  • 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.

js
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étodo connect.
  • 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.

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

Parámetros obligatorios

  • connection: espera la instancia de conexión devuelta por el método connect.

Retorno

Este método no tiene retorno.