Definición y configuración de un SFTP
Puede crear un cliente para conectarse a su servidor de protocolo seguro de transferencia de archivos (SFTP) y realizar varias operaciones en sus archivos. En este artículo se explica cómo añadir una conexión SFTP al origen de datos de la nube personalizada (CCDS) y cómo incluir la conexión SFTP en su secuencia de comandos. Consulte Configuración del cifrado de PGP para obtener información sobre cómo cifrar y descifrar sus archivos.
Antes de comenzar
- ¿Es la primera vez que utiliza CCDS? Consulte Concepto: información general de CCDS y Configuración de un origen de datos de la nube personalizada (CCDS).
- Permisos obligatorios:Desarrollador de integraciónenAdministración > Conjunto de permisos
Navegación
En el menú de navegación, vaya a . Definición y configuración de un SFTP
Creación de una nueva conexión SFTP
- Cree unaConexión SFTPdesde el panelen Diseño de integraciones.Credenciales
- Introduzca un nombre para la conexión y haga clic enCrear.
- Introduzca la expresión de host en el formulario de conexión. Las conexiones utilizan el puerto 22 si no las especifica. Admitimos los siguientes puertos:
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Elija su método de autenticación.
- La autenticación por clave privada no requiere contraseña.
- Para la autenticación básica, introduzca una contraseña.
- Si elige la autenticación por clave privada, envíe la clave pública al administrador del servidor del cliente para la instalación.
- SeleccionePrueba de conexiónpor primera vez.
Tenga en cuenta lo siguiente para ambos métodos de autenticación:
- Cuando seleccionaPrueba de conexiónpor primera vez, se rellena el campoHuella digital. Esto permite la verificación del servidor para conexiones futuras. El administrador del servidor del cliente puede verificar lahuella digitalpara confirmar que está conectado al servidor correcto.
- Después de ejecutar laprueba de conexiónpor primera vez, haga clic en su conexión SFTP en el panelCredencialespara volver a cargar la conexión y ver el campo de huella digital.
- Cuando seleccionaPrueba de conexióno utiliza la conexión SFTP en una secuencia de comandos, la huella digital del servidor debe coincidir o la conexión fallará.
- Selección del origen de datos de la nube personalizada
- Seleccione un CCDS o cree un CCDS a partir deOrígenes de datosen Diseño de integraciones.
- Introducción de una conexión SFTP en el origen de datos de la nube personalizada
- Seleccione la ficha Configuración de diseñador para su CCDS.
- Arrastre y suelte el parámetroConexión SFTPdeConfiguración adicionalen el panelComponente de configuración.
- Configure la conexión SFTP en la ficha Configuración de diseñador. El nombre de la configuración es el identificador que usará dentro de la secuencia de comandos. Por ejemplo, "sftpserver".
- Introducción de la conexión SFTP en su secuencia de comandos
- Cree un cliente utilizando ai.sftp.createClient() y proporcione el nombre de su configuración SFTP. Por ejemplo:const client = ai.sftp.createClient('mysftp').Después de conectarse correctamente, se crea un objeto de cliente.
- Pruebe su conexión desde el panelAccionespara ejecutar su secuencia de comandos. Puede buscar los resultados de las pruebas de su secuencia de comandos enRegistrosen el panelAcciones.
Métodos SFTP para carga y descarga de archivos
Utilice los siguientes métodos para crear un cliente, cargar y descargar archivos cifrados en un servidor SFTP y cifrarlos o descifrarlos con PGP. Consulte ai.sftp.
- createClient(sftpConnection)client = ai.sftp.createClient('mysftp');
- uploadFile(Writer, uploadedFileName)client.uploadFile(writer,'./archive/datasample.csv.asc');
- downloadFile(filename)client.downloadFile('./archive/datasample.csv.asc');
- Desconecte el cliente.client.disconnect();
- Libere los recursos del sistema consumidos por el objeto Lector de archivo.reader.cleanUp();
Ejemplo para conectar y descargar archivos de un servidor SFTP
function testConnection(context) { let client; try { client = ai.sftp.createClient('mysftp'); } catch(e) { ai.log.logError('An error occurred connecting to the server: ' + e); return false; } finally { if (client) client.disconnect(); } return true; } function importData(context) { const rowset = context.getRowset(); const client = ai.sftp.createClient('mysftp'); const reader = client.downloadFile('./someData.csv'); try { reader.readLine(); let line = reader.readLine(); while (line) { let cells = line.split(','); rowset.addRow(cells); line = reader.readLine(); } } catch(e) { ai.log.logError('An error occurred downloading the file: ' + e); } finally { client.disconnect(); reader.cleanUp(); } }