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étodoParámetrosTipo de valor devueltoDescripcióncreateClient(sftpConnection)sftpConnection : StringNombre de su conexión SFTPObjetoCrea 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()CadenaLee un archivo línea por líneacleanUp()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 : cadenaContenido para escribir en un archivoEscribe 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.