ai.sftp
L'article décrit l'espace de noms ai.sftp et les méthodes associées pour créer un client, effectuer des opérations client de base, charger et télécharger des fichiers avec les objets Lecture et écriture.
L'espace de noms ai.sftp permet à un utilisateur de charger et de télécharger des fichiers sur un serveur SFTP. Elle permet également de charger 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)sftpConnection : chaîneNom de votre connexion SFTPObjetCréer un client SFTP
- Utilisation
- const client = ai.sftp.createClient('mySftpConnectionSetting');
Opérations 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() | Boolean | Renvoie Vrai si le client SFTP est connecté ; Faux. | |
disconnect() | Se déconnecte et ferme la session client avec le serveur. Toutes les opérations supplémentaires appelées sur le client entraîneront l'envoi d'une exception. | ||
delete(fileName) | fileName : chaîne de nom du fichier à supprimer | Supprime le fichier indiqué | |
rename (renameFrom, renameTo) | renameFrom : chaîne Nom d'origine du fichier renameTo : chaîne Nouveau nom du fichier | Renomme le fichier indiqué | |
createDirectory(DirectoryName) | Nom : chaîne Chemin relatif au nouveau répertoire | Crée un répertoire sur le serveur. | |
changeDirectory(newEmplacement) | newEmplacement : chaîne Chemin relatif au nouvel emplacement sur le serveur | String | Modifie le répertoire de travail actuel sur le serveur. Cette opération va renvoyer le répertoire de travail actuel |
getCurrentDirectory() | String | Extraire le répertoire de travail actuel | |
getFileSizeBytes(fileName) | fileName : chaîne Nom du fichier correspondant à la taille du fichier récupéré | Nombre | Renvoie la taille du fichier spécifié 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 de client suivantes pour télécharger les fichiers à partir du serveur.
downloadFile(fileName) | nom_fichier : chaîne Nom du fichier à télécharger | Objet | Télécharge le fichier et renvoie un lecteur pour qu'il le lise ligne par ligne. |
downloadEncryptedFile(fileName, encryptionSettingName) | nom_fichier : chaîne Chemin relatif du fichier à télécharger Chiffrement du paramètre Nom : chaîne Le nom de votre paramètre de chiffrement dans la zone Identifiants de Concevoir des intégrations. | Objet | Télécharge le fichier, le déchiffre en utilisant le paramètre de chiffrement indiqué, puis renvoie un lecteur pour qu'il le lise ligne par ligne. |
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName) | nom_fichier : chaîne Chemin relatif du fichier à télécharger Chiffrement du paramètre Nom : chaîne Le nom de votre paramètre de chiffrement dans la zone Identifiants de Concevoir des intégrations. | Objet | Télécharge le fichier, le vérifie et le déchiffre en utilisant le paramètre de chiffrement indiqué, et renvoie un lecteur qui va lire le fichier ligne par ligne. |
- Méthodes de lecture de fichiers
- Vous pouvez invoquer ces méthodes sur l'objet de lecture renvoyé par la méthode de téléchargement de fichiers().readLine()StringLit un fichier ligne par lignecleanUp()Libérer les ressources système consommées par l'objet Reader.FileReader ne peut pas être utilisé après avoir exécuté la méthode de nettoyage().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écharger un fichier
Pour télécharger un fichier, un éditeur doit être créé sur lequel les lignes peuvent être écrites. L'objet Writer est obtenu à partir de l'espace de noms ai.sftp. Une fois le fichier créé, il peut être téléchargé sur le client en utilisant l'une des méthodes suivantes.
chargerFile( Writed, UploadedFileName) | Auteur : Writer Obtenu à partir de la méthode ai.sftp.createFileWrite() UploadedFileName : chaîne Nom du fichier que vous téléchargez | Télécharge le fichier indiqué sur le serveur. | |
frais de chargement | Auteur : Writer Obtenu à partir de la méthode ai.sftp.createFileWrite() UploadedFileName : chaîne Nom du fichier que vous téléchargez Chiffrement du paramètre Nom : chaîne Nom de votre paramètre de chiffrement | Chiffre le fichier en utilisant le paramètre de chiffrement indiqué (dans la zone Identifiants de Concevoir des intégrations), puis le télécharge sur le serveur. Le nom et l'emplacement du fichier sont indiqués par l'argument UploadedFileName. | |
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName) | Auteur : Writer Obtenu à partir de la méthode ai.sftp.createFileWrite() UploadedFileName : chaîne Nom du fichier que vous téléchargez Chiffrement du paramètre Nom : chaîne Nom de votre paramètre de chiffrement | Chiffre et signe le fichier en utilisant le paramètre de chiffrement indiqué (dans la zone Identifiants de Concevoir des intégrations), puis le télécharge sur le serveur. Le nom et l'emplacement du fichier sont indiqués par l'argument UploadedFileName. |
- Méthodes du générateur de fichiers
- Vous pouvez invoquer les méthodes suivantes sur l'objet Reader renvoyé par le téléchargement des fichiers.WriteLine(val)val : chaîneContenu à écrire dans un fichierÉcrivez le contenu d'un fichier ligne par ligne.cleanUp()Libérer les ressources système consommées par l'objet d'écriture de fichier.Le générateur d'écritures ne peut pas être utilisé après avoir exécuté la méthode de nettoyage().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 certaines différences de comportement au niveau de l'organisation des fichiers AWS S3 par rapport aux serveurs Open SSH.
- CréerRépertoire
- AWS S3 vous permet d'indiquer le chemin des nouveaux répertoires. Par exemple, client.createDirectory('./parent/enfant'); va créer le répertoire parent. Toutefois, si le répertoire parent existe déjà et que vous essayez de créer un répertoire enfant, une exception sera envoyée.