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.MethodeParameterRückgabeartBeschreibungcreateClient(sftpConnection)sftpConnection: ZeichenfolgeName Ihrer SFTP-VerbindungObjektErstellt 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()StringLiest eine Datei zeilenweisecleanUp()Vom Datei-Reader-Objekt beanspruchte Systemressourcen freigebenFileReader 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: ZeichenfolgeInhalt, der in eine Datei geschrieben werden sollSchreibt Inhalt zeilenweise in eine Datei.cleanUp()Vom File Writer-Objekt beanspruchte Systemressourcen freigebenWriter 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.