Saltar al contenido principal
Roberty Studio
RPAMó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.