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