Paramétrer et configurer un SFTP
Vous pouvez créer un client pour vous connecter à votre serveur SFTP (Secure File Transfer Protocol) et réaliser différentes opérations sur vos fichiers. Cet article explique comment ajouter une connexion SFTP à une source de données Cloud personnalisée (SDCP) et comment inclure une connexion SFTP dans votre script. Pour en savoir plus sur le chiffrement et de déchiffrement de vos fichiers, consultez Configurer un chiffrement PGP.
Avant de commencer
- Novice en matière de SDCP ? Voir Concept : présentation d'une SDCP et Configurer une source de données Cloud personnalisée (SDCP).
- Autorisations requises :Développeur intégrationdansAdministration > Ensembles d'autorisations
Navigation
Dans le menu de navigation, accédez à . Paramétrer et configurer un SFTP
Créer une nouvelle connexion SFTP
- Créez uneConnexion SFTPdans le panneaude Concevoir des intégrations.Identifiants
- Donnez un nom à la connexion et cliquez surCréer.
- Saisissez l'expression hôte dans le formulaire de connexion. Les connexions utilisent le port 22 si vous n'en indiquez aucun. Ports pris en charge :
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Choisissez votre méthode d'authentification.
- Pour l'authentification d'une clé privée, aucun mot de passe n'est requis.
- Pour une authentification de base, un mot de passe doit être saisi.
- Pour l'authentification d'une clé privée, envoyez une clé publique à l'administrateur du serveur client pour installation.
- Cliquez surTester la connexionavant sa première utilisation.
Pour une authentification de clé privée ou de base :
- Lorsque vous cliquez surTester la connexionavant sa première utilisation, le champEmpreinte digitaleest renseigné, ce qui permet de vérifier le serveur à l'occasion de connexions futures. L'administrateur du serveur client peut vérifier l'empreinte digitaleet ainsi confirmer que vous êtes connecté au serveur adéquat.
- Après avoir cliqué surTester la connexionavant sa première utilisation, cliquez sur votre connexion SFTP dans le panneauIdentifiantspour recharger la connexion et afficher le champ Empreinte digitale.
- Lorsque vous cliquez surTester la connexionou que vous utilisez la connexion SFTP dans un script, l'empreinte digitale du serveur doit correspondre ou la connexion échouera.
- Sélectionner votre source de données Cloud personnalisée
- Sélectionnez une SDCP existante ou créez une SDCP dansSources de donnéesdu panneau Concevoir des intégrations.
- Ajouter une connexion SFTP à une source de données Cloud personnalisée (SDCP)
- Cliquez sur l'onglet Paramètres du concepteur pour votre SDCP.
- Faites glisser le paramètreConnexion SFTPdeParamètres supplémentairesjusqu'au panneauParamètres des composants.
- Configurez la connexion SFTP dans l'onglet Paramètres du concepteur. Le nom du paramètre est le pseudonyme que vous utiliserez dans votre script. Par exemple, "sftpserver".
- Ajouter la connexion SFTP à votre script
- Créez un client en utilisant ai.sftp.createClient() et indiquez le nom de votre paramètre SFTP. Par exemple :const client = ai.sftp.createClient('mysftp').Une fois la connexion établie, un objet client est alors créé.
- Testez votre connexion dans le panneauActionspour exécuter votre script. Vous pouvez rechercher les résultats des tests de votre script dansJournauxdu panneauActions.
Méthodes SFTP pour charger et télécharger des fichiers
Utilisez les méthodes suivantes pour créer un client, charger et télécharger des fichiers chiffrés vers un serveur SFTP et les chiffrer ou les déchiffrer avec PGP. Voir 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');
- Déconnecter le clientclient.disconnect();
- Libérer les ressources système consommées par l'objet Reader.reader.cleanUp();
Exemple pour se connecter et télécharger des fichiers à partir d'un serveur 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(); } }