ai.SFTP
L’article décrit l’espace de noms ai.sftp et les méthodes associées pour créer un client, effectuer les opérations de base du client, téléverser et télécharger des fichiers avec les objets de lecteur et de générateur de fichiers.
L’espace de noms ai.sftp permet à un utilisateur de téléverser et de télécharger des fichiers sur un serveur SFTP. Il permet également de téléverser et de télécharger des fichiers chiffrés, ce qui vous permet de les chiffrer et de les déchiffrer avec PGP.
Créer un client
- ai.sftp.createClient
- Vous pouvez créer une instance SFTP avec la méthode CreateClient() et lancer toutes les opérations avec le serveur SFTP. Cette fonction prend le nom de la chaîne de connexion SFTP configurée pour le script comme paramètre et renvoie un objet d’instance client.MéthodeParamètresType de retourDescriptioncreateClient(sftpConnection)sffpConnection : ChaîneNom de votre connexion SFTPObjetCrée un client SFTP
- Utilisation
- const client = ai.sftp.createClient('mySftpConnectionSetting');
Opérations de client de base
Vous pouvez effectuer les opérations suivantes sur l’objet d’instance client renvoyé par la méthode ai.createClient.
Méthode | Paramètres | Type de retour | Description |
|---|---|---|---|
isConnected() | Booléen | Renvoie la valeur True si le client SFTP est connecté; Faux sinon. | |
disconnect() | Ferme la session client avec le serveur et ferme la session. Toute autre opération appelée sur le client entraînera la génération d'une exception. | ||
delete(fileName) | fileName : Nom de la chaîne du fichier à supprimer | Supprime le fichier indiqué | |
rename (renameFrom, renameTo) | renameFrom : String Nom initial du fichier renameTo : String Nouveau nom du fichier | Renomme le fichier indiqué | |
createDirectory(directoryName) | Nom : Chaîne Chemin relatif du nouveau répertoire | Crée un répertoire sur le serveur. | |
change source (new Location) | nouvelemplacement : Chaîne Chemin relatif du nouvel emplacement sur le serveur | Chaîne | Modifie le répertoire de travail actuel sur le serveur. Cette opération retournera le répertoire de travail actuel |
getCurrentDirectory() | Chaîne | Obtenir le répertoire de travail actuel | |
getFileSizeBytes(fileName) | fileName : Nom du fichier de type chaîne pour la taille du fichier extrait | Nombre | Renvoie la taille du fichier indiqué en octets |
listCurrentDirectory() | Collection | Renvoie une liste de tous les fichiers et répertoires du répertoire de travail actuel. |
Télécharger un fichier
Utilisez les méthodes client suivantes pour télécharger des fichiers à partir du serveur.
downloadFile(fileName) | fileName : Chaîne Nom du fichier à télécharger | Objet | Téléverse le fichier et renvoie un lecteur pour lire le fichier ligne par ligne. |
downloadEncryptedFile(fileName, encryptionSettingName) | fileName : Chaîne Chemin relatif du fichier à télécharger ChiffrementSettingName : String Nom de votre paramètre de chiffrement dans la zone Identifiants dans Concevoir intégrations. | Objet | Télécharge le fichier, le déchiffre à l’aide du paramètre de chiffrement indiqué et renvoie un lecteur pour lire le fichier ligne par ligne. |
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName) | fileName : Chaîne Chemin relatif du fichier à télécharger ChiffrementSettingName : String Nom de votre paramètre de chiffrement dans la zone Identifiants dans Concevoir intégrations. | Objet | Télécharge le fichier, le vérifie et le déchiffre à l’aide du paramètre de chiffrement précisé et renvoie un lecteur qui permet de lire le fichier ligne par ligne |
- Méthodes de lecture de fichiers
- Vous pouvez invoquer ces méthodes sur l’objet lecteur renvoyé par la méthode DownloadFiles().readLine()ChaîneLit un fichier ligne par lignecleanUp()Libérez les ressources système utilisées par l’objet lecteur de fichier.FileTexte ne peut pas être utilisé après l'exécution de la méthode propre aux fins de propreup().Les ressources sont automatiquement propres à la fin du script.
- Exemple
- //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() }
Téléverser un fichier
Pour téléverser un fichier, il faut créer un générateur sur lequel des lignes peuvent être inscrites. L'objet écriture est obtenu à partir de l'espace de noms ai.sftp. Une fois le fichier créé, il peut être téléversé sur le client à l’aide d’une des méthodes suivantes.
téléverserFichier( générateur, téléverséFileName) | Rédacteur : auteur Obligatoire au moyen de la méthode ai.sftp.createFileWriter() téléverséFileName : Chaîne Nom du fichier que vous téléversez | Téléverse le fichier indiqué sur le serveur. | |
téléverserEnchiffréFichier (auteur, téléverserFichierName, chiffrementSettingName) | Rédacteur : auteur Obligatoire au moyen de la méthode ai.sftp.createFileWriter() téléverséFileName : Chaîne Nom du fichier que vous téléversez ChiffrementSettingName : String Nom de votre paramètre de chiffrement | Chiffre le fichier à l’aide du paramètre de chiffrement indiqué (trouvable dans la zone Credentials dans Design Integrations) et le téléverse sur le serveur. Le nom et l’emplacement du fichier sont précisés par l’argument téléverséFileName. | |
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName) | Rédacteur : auteur Obligatoire au moyen de la méthode ai.sftp.createFileWriter() téléverséFileName : Chaîne Nom du fichier que vous téléversez ChiffrementSettingName : String Nom de votre paramètre de chiffrement | Chiffres et signe le fichier à l’aide du paramètre de chiffrement indiqué (se trouve dans la zone de données d’identification dans Concevoir intégrations) et le téléverse sur le serveur. Le nom et l’emplacement du fichier sont précisés par l’argument téléverséFileName. |
- Méthodes du générateur de fichiers
- Vous pouvez invoquer les méthodes suivantes sur l’objet lecteur qui a été renvoyé par le téléchargement des fichiers.WriteLine(val)val : ChaîneContenu à entrer dans un fichierÉcrit le contenu dans un fichier ligne par ligne.cleanUp()Libérez les ressources du système utilisées par l’objet Générateur de fichiers.Le générateur de document ne peut pas être utilisé après l'exécution de la méthode propre aux fins de propreup().Les ressources sont automatiquement propres à la fin du script.
- Exemple
- 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();
Remarques sur le transfert AWS pour SFTP
Lors de la connexion à un serveur AWS S3 via SFTP, il existe des différences de comportement entre l’organisation de fichiers AWS S3 et les serveurs SSH ouverts.
- Créerun répertoire
- AWS S3 vous permet de préciser le chemin des nouveaux répertoires. Par exemple, client.create Directory(’./parent/enfant’) ); créera le répertoire parent. Toutefois, si le répertoire parent existe déjà et que vous tentez de créer un répertoire enfant, une exception sera levée.