Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2023-06-23
ai.sftp

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éthode
Paramètres
Type de retour
Description
createClient(sftpConnection)
sftpConnection : chaîne
Nom de votre connexion SFTP
Objet
Cré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()
String
Lit un fichier ligne par ligne
cleanUp()
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îne
Contenu à é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.