Zum Hauptinhalt wechseln
Adaptive Planning
Zuletzt aktualisiert: 2023-06-23
ai.sftp

ai.sftp

Der Artikel beschreibt den Namespace ai.sftp und die zugehörigen Methoden, um einen Client zu erstellen, grundlegende Client-Vorgänge durchzuführen und Dateien mit den Datei-Reader- und Writer-Objekten hochzuladen und herunterzuladen.
Mit dem Namespace ai.sftp kann ein Benutzer Dateien auf einen SFTP-Server hoch- und herunterladen. Außerdem können Sie verschlüsselte Dateien hoch- und herunterladen, sodass Sie sie mit PGP verschlüsseln und entschlüsseln können.

Erstellen Sie einen Client

ai.sftp.createClient
Sie können eine SFTP-Instanz mit der Methode createClient() erstellen und alle Vorgänge mit dem SFTP-Server initiieren. Diese Funktion verwendet den Namen der für das Skript konfigurierten SFTP-Verbindungszeichenfolge als Parameter und gibt ein Client-Instanzobjekt zurück.
Methode
Parameter
Rückgabeart
Beschreibung
createClient(sftpConnection)
sftpConnection: Zeichenfolge
Name Ihrer SFTP-Verbindung
Objekt
Erstellt einen SFTP-Client
Verwendung
const client = ai.sftp.createClient('mySftpConnectionSetting');

Grundlegende Client-Vorgänge

Sie können die folgenden Vorgänge für das Client-Instanzobjekt ausführen, das von der Methode ai.createClient zurückgegeben wird.
Methode
Parameter
Rückgabeart
Beschreibung
isConnected()
Boolesch
Gibt „True“ zurück, wenn der SFTP-Client verbunden ist. Andernfalls „False“.
disconnect()
Meldet die Client-Sitzung mit dem Server ab und schließt sie. Alle weiteren Vorgänge, die auf dem Client aufgerufen werden, führen dazu, dass eine Ausnahme ausgelöst wird.
delete(fileName)
FileName: Zeichenfolge Name der zu löschenden Datei
Löscht die angegebene Datei
Umbenennen (renameFrom, renameTo)
renameFrom: Zeichenfolge
Ursprünglicher Name der Datei
renameTo: Zeichenfolge
Neuer Name der Datei
Benennt die angegebene Datei um
createDirectory(directoryName)
Name: Zeichenfolge
Relativer Pfad des neuen Verzeichnisses
Erstellt ein Verzeichnis auf dem Server.
changeDirectory(newLocation)
newLocation: Zeichenfolge
Relativer Pfad des neuen Standorts auf dem Server
String
Ändert das aktuelle Arbeitsverzeichnis auf dem Server. Dieser Vorgang gibt das aktuelle Arbeitsverzeichnis zurück
getCurrentDirectory()
String
Rufen Sie das aktuelle Arbeitsverzeichnis ab
getFileSizeBytes(fileName)
fileName : Zeichenfolge Dateiname für die abgerufene Dateigröße
Zahl
Gibt die Größe der angegebenen Datei in Bytes zurück
listCurrentDirectory()
Erfassung
Gibt eine Liste aller Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis zurück.

Datei herunterladen

Verwenden Sie die folgenden Client-Methoden, um Dateien vom Server herunterzuladen.
DownloadFile(DateiName)
Dateiname: Zeichenfolge
Name der herunterzuladenden Datei
Objekt
Lädt die Datei herunter und gibt einen Viewer zurück, der die Datei Zeile für Zeile durchgelesen hat.
DownloadEncryptedFile(Dateiname, EncryptionSettingName)
Dateiname: Zeichenfolge
Relativer Pfad der herunterzuladenden Datei
verschlüsseltSettingName: Zeichenfolge
Name Ihrer Verschlüsselungseinstellung aus dem Bereich
Zugangsdaten
unter „Integrationsdesign“.
Objekt
Lädt die Datei herunter, entschlüsselt sie mit der angegebenen Verschlüsselungseinstellung und gibt einenReader zurück, der die Datei zeilenweise durchblättert.
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName)
Dateiname: Zeichenfolge
Relativer Pfad der herunterzuladenden Datei
verschlüsseltSettingName: Zeichenfolge
Name Ihrer Verschlüsselungseinstellung aus dem Bereich
Zugangsdaten
unter „Integrationsdesign“.
Objekt
Lädt die Datei herunter, verifiziert und entschlüsselt sie mit der angegebenen Verschlüsselungseinstellung und gibt einenReader zurück, mit dem die Datei Zeile für Zeile gelesen werden kann
Datei-Reader-Methoden
Sie können diese Methoden für dasReader-Objekt aufrufen, das von der Methode ladenFiles() zurückgegeben wird.
readLine()
String
Liest eine Datei zeilenweise
cleanUp()
Vom Datei-Reader-Objekt beanspruchte Systemressourcen freigeben
FileReader kann nach Ausführung der Methode Cleanup() nicht verwendet werden.
Ressourcen werden am Ende des Skripts automatisch bereinigt.
Beispiel
//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() }

Datei hochladen

Um eine Datei hochzuladen, muss ein Writer erstellt werden, in den Positionen geschrieben werden können. Das Writer-Objekt wird aus dem Namespace ai.sftp abgerufen. Sobald die Datei erstellt wurde, kann sie mit einer der folgenden Methoden auf den Client hochgeladen werden.
uploadFile(writer, uploadedFileName)
Writer: Writer
Erhalten aus der Methode ai.sftp.createFileWriter()
UploadedFileName: Zeichenfolge
Name der Datei, die Sie hochladen
Lädt die angegebene Datei auf den Server hoch.
UploadEncryptedFile (Writer, UploadedFileName, EncryptionSettingName)
Writer: Writer
Erhalten aus der Methode ai.sftp.createFileWriter()
UploadedFileName: Zeichenfolge
Name der Datei, die Sie hochladen
verschlüsseltSettingName: Zeichenfolge
Name Ihrer Verschlüsselungseinstellung
Verschlüsselt die Datei mit der angegebenen Verschlüsselungseinstellung (im Bereich „
Zugangsdaten“
unter „Integrationsdesign“) und lädt sie auf den Server hoch. Der Dateiname und der Speicherort werden durch das Argument UploadedFileName angegeben.
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName)
Writer: Writer
Erhalten aus der Methode ai.sftp.createFileWriter()
UploadedFileName: Zeichenfolge
Name der Datei, die Sie hochladen
verschlüsseltSettingName: Zeichenfolge
Name Ihrer Verschlüsselungseinstellung
Verschlüsselt und signiert die Datei mit der angegebenen Verschlüsselungseinstellung (im Bereich „
Zugangsdaten
“ unter „Integrationsdesign“) und lädt sie auf den Server hoch. Der Dateiname und der Speicherort werden durch das Argument UploadedFileName angegeben.
Datei-Writer-Methoden
Sie können die folgenden Methoden für dasReader-Objekt aufrufen, das vom Herunterladen von Dateien zurückgegeben wurde.
writeLine(val)
val: Zeichenfolge
Inhalt, der in eine Datei geschrieben werden soll
Schreibt Inhalt zeilenweise in eine Datei.
cleanUp()
Vom File Writer-Objekt beanspruchte Systemressourcen freigeben
Writer kann nach Ausführung der Methode Cleanup() nicht verwendet werden.
Ressourcen werden am Ende des Skripts automatisch bereinigt.
Beispiel
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();

Anmerkungen zu AWS Transfer for SFTP

Beim Herstellen einer Verbindung zu einem AWS S3-Server über SFTP gibt es einige Unterschiede im Verhalten der AWS S3-Dateiorganisation im Vergleich zu Open-SSH-Servern.
  • Verzeichnis erstellen
    • In AWS S3 können Sie den Pfad neuer Verzeichnisse angeben. Beispiel: client.createDirector('./parent/Child'); erstellt das übergeordnete Verzeichnis. Wenn das übergeordnete Verzeichnis jedoch bereits vorhanden ist und Sie versuchen, ein untergeordnetes Verzeichnis zu erstellen, wird eine Ausnahme ausgelöst.