Ir al contenido

SFTP Download

Tipo: sftp-download  ·  Paquete: SFTP Activities v1.1.0  ·  Salida: string

Descarga un archivo del servidor SFTP a la máquina del robot. Para recoger archivos que un sistema externo deja en el servidor: reportes de un banco, datos de un proveedor, archivos de intercambio.

Copia el archivo de remotePath (servidor) a localPath (máquina del robot, incluyendo el nombre) y devuelve la ruta local:

  • Las carpetas locales que falten se crean.
  • Si el archivo local ya existe, se reemplaza completo por el descargado. Desde la versión 1.1.0 (antes, si el archivo anterior era más grande, quedaban sus bytes finales).
  • La descarga se escribe primero en un archivo temporal de la misma carpeta y se renombra al terminar: si falla (por ejemplo, el archivo remoto no existe), el archivo que había en localPath queda intacto y no queda ningún archivo a medias.
  • El archivo remoto no se modifica: para archivarlo usa SFTP Move / Rename.
ParámetroTipoPor defectoDescripción
remotePathstring—Ruta del archivo remoto a descargar.
localPathstring—Ruta local de destino, con el nombre de archivo.
ParámetroTipoPor defectoDescripción
sessionZoanSftpSession—Sesión de SFTP Connect. Dentro de un body se hereda.

Devuelve un string con la ruta local del archivo descargado (el mismo valor de localPath).

MensajeCausa y solución
'remotePath' es obligatorio. / 'localPath' es obligatorio.Falta el parámetro o la expresión dio null.
'session' debe ser una ZoanSftpSession.La actividad está fuera del body de SFTP Connect y no recibió session.
Error del servidor: archivo no encontradoremotePath no existe. Compruébalo antes con SFTP Exists o toma las rutas de SFTP List Directory.
Error de acceso a la ruta localEl robot no puede escribir en localPath o el archivo está abierto por otro programa.

Descargar todos los CSV de una carpeta remota y archivarlos en el servidor:

SFTP Connect host = "sftp.proveedor.com" username = "zoan" password = credential("sftp-proveedor")["password"]
└─ body:
SFTP List Directory remotePath = "/salida" pattern = "*.csv" → output: archivos
For Each items = archivos itemVariable = item
└─ activities:
SFTP Download remotePath = item["fullName"] localPath = pathJoin("C:/descargas", item["name"]) → output: rutaLocal
Read CSV path = rutaLocal → output: datos
SFTP Move / Rename sourcePath = item["fullName"] destinationPath = "/salida/procesados/" + item["name"]