Saltar al contenido principal
Adaptive Planning
Última actualización: 2023-06-23
ai.sftp

ai.sftp

El artículo describe el espacio de nombres ai.sftp y los métodos asociados para crear un cliente, realizar operaciones básicas de cliente y cargar y descargar archivos con los objetos File Reader y Writer.
El espacio de nombres ai.sftp permite a un usuario cargar y descargar archivos en un servidor SFTP. También permite cargar y descargar archivos cifrados, lo que le permite cifrarlos y descifrarlos con PGP.

Crear un cliente

ai.sftp.createClient
Puede crear una instancia SFTP con el método createClient() e iniciar todas las operaciones con el servidor SFTP. Esta función toma el nombre de la cadena de conexión SFTP configurada para la secuencia de comandos como parámetro y devuelve un objeto de instancia de cliente.
Método
Parámetros
Tipo de valor devuelto
Descripción
createClient(sftpConnection)
sftpConnection : String
Nombre de su conexión SFTP
Objeto
Crea un cliente SFTP
Uso
const client = ai.sftp.createClient('mySftpConnectionSetting');

Operaciones básicas de cliente

Puede realizar las siguientes operaciones en el objeto de instancia de cliente devuelto por el método ai.createClient.
Método
Parámetros
Tipo de valor devuelto
Descripción
isConnected()
Booleano
Devuelve True si el cliente SFTP está conectado; De lo contrario, es falso.
disconnect()
Desconecta y cierra la sesión del cliente con el servidor. Cualquier otra operación que se llame al cliente generará una excepción.
delete(fileName)
fileName : String Nombre del archivo que se va a eliminar
Elimina el archivo especificado.
cambiar nombre (renameFrom, renameTo)
renameFrom : String
Nombre original del archivo
renameTo : String
Nuevo nombre del archivo
Cambia el nombre del archivo especificado
createDirectory(directoryName)
Nombre: cadena
Ruta relativa del nuevo directorio
Crea un directorio en el servidor.
changeDirectory(newLocation)
newLocation : String
Ruta relativa de la nueva ubicación en el servidor
Cadena
Cambia el directorio de trabajo actual en el servidor. Esta operación devolverá el directorio de trabajo actual
getCurrentDirectory()
Cadena
Obtener el directorio de trabajo actual
getFileSizeBytes(fileName)
fileName: nombre de archivo de cadena para el tamaño de archivo recuperado
Número
Devuelve el tamaño del archivo especificado en bytes.
listCurrentDirectory()
Colección
Devuelve una lista de todos los archivos y directorios del directorio de trabajo actual.

Descargar un archivo

Utilice los siguientes métodos de cliente para descargar archivos del servidor.
downloadFile(fileName)
fileName: cadena
Nombre del archivo que se va a descargar
Objeto
Descarga el archivo y muestra un lector para leer el archivo línea por línea.
downloadEncryptedFile(fileName, encryptionSettingName)
fileName : String
Ruta relativa del archivo que se va a descargar
encryptionSettingName : String
Nombre de su configuración de cifrado del área
Credenciales
en Diseño de integraciones.
Objeto
Descarga el archivo, lo descifra con la configuración de cifrado especificada y devuelve un lector para leer el archivo línea por línea.
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName)
fileName : String
Ruta relativa del archivo que se va a descargar
encryptionSettingName : String
Nombre de su configuración de cifrado del área
Credenciales
en Diseño de integraciones.
Objeto
Descarga el archivo, lo verifica y lo descifra con la configuración de cifrado especificada y devuelve un lector que lee el archivo línea por línea.
Métodos de lector de archivos
Puede invocar estos métodos en el objeto de lector devuelto por el método downloadFiles().
readLine()
Cadena
Lee un archivo línea por línea
cleanUp()
Libere los recursos del sistema consumidos por el objeto Lector de archivo.
FileReader no se puede usar después de ejecutar el método cleanup().
Los recursos se limpian automáticamente al final de la secuencia de comandos.
Ejemplo
//Pass the relative filepath and the name of your encryption setting const reader = client.downloadEncryptedFile('./archive/datasample.csv.asc', 'mypgp'); let line = reader.readLine() while(line !== null){ //Process the line line = reader.readLine() }

Cargar un archivo

Para cargar un archivo, se debe crear un escritor en el que se puedan escribir líneas. El objeto de escritura se obtiene del espacio de nombres ai.sftp. Una vez que se ha creado el archivo, se puede cargar en el cliente mediante uno de los siguientes métodos.
uploadFile(writer, uploadedFileName)
Escritor : escritor
Obtenido del método ai.sftp.createFileWriter()
uploadedFileName: cadena
Nombre del archivo que va a cargar
Carga el archivo especificado en el servidor.
uploadEncryptedFile (writer, uploadedFileName, encryptionSettingName)
Escritor : escritor
Obtenido del método ai.sftp.createFileWriter()
uploadedFileName: cadena
Nombre del archivo que va a cargar
encryptionSettingName : String
Nombre de su configuración de cifrado
Cifra el archivo con la configuración de cifrado especificada (que se encuentra en el área
Credenciales
en Diseño de integraciones) y lo carga en el servidor. El nombre y la ubicación del archivo se especifican mediante el argumento uploadedFileName.
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName)
Escritor : escritor
Obtenido del método ai.sftp.createFileWriter()
uploadedFileName: cadena
Nombre del archivo que va a cargar
encryptionSettingName : String
Nombre de su configuración de cifrado
Cifra y firma el archivo con la configuración de cifrado especificada (que se encuentra en el área
Credenciales
en Diseño de integraciones) y lo carga en el servidor. El nombre y la ubicación del archivo se especifican mediante el argumento uploadedFileName.
Métodos de escritor de archivos
Puede invocar los siguientes métodos en el objeto Reader que se ha devuelto al descargar archivos.
writeLine(val)
val : cadena
Contenido para escribir en un archivo
Escribe contenido en un archivo línea por línea.
cleanUp()
Libere los recursos del sistema consumidos por el objeto File Writer.
No se puede usar Writer después de ejecutar el método cleanup().
Los recursos se limpian automáticamente al final de la secuencia de comandos.
Ejemplo
const client = ai.sftp.createClient('mySftpConnectionSetting'); ​ //Invoke the File Writer method const writer = ai.sftp.createFileWriter(); ​ //Write content to the writer variable writer.writeLine('Here is a line to upload'); client.uploadFile(writer, 'myFileToShare.txt'); writer.cleanUp();

Notas sobre AWS Transfer for SFTP

Al conectarse a un servidor de AWS S3 a través de SFTP, existen algunas diferencias en el comportamiento de la organización de archivos de AWS S3 en comparación con los servidores Open SSH.
  • CreateDirectory
    • AWS S3 le permite especificar la ruta de los nuevos directorios. Por ejemplo, client.createDirectory('./parent/child'); creará el directorio principal. Sin embargo, si el directorio principal ya existe e intenta crear un directorio secundario, se generará una excepción.