ai.sftp
In het artikel worden de naamruimte ai.sftp en de bijbehorende methoden beschreven voor het maken van een client, het uitvoeren van basisclientbewerkingen en het uploaden en downloaden van bestanden met de bestandsobjecten Lezer en Writer.
Met de naamruimte ai.sftp kan een gebruiker bestanden uploaden en downloaden naar een SFTP-server. Hiermee kunt u ook versleutelde bestanden uploaden en downloaden, zodat u ze kunt versleutelen en ontsleutelen met PGP.
Klant maken
- ai.sftp.createClient
- U kunt een SFTP-instance maken met de methode createClient() en alle bewerkingen starten met de SFTP-server. Deze functie neemt de naam van de SFTP-verbindingsreeks die voor het script is geconfigureerd als een parameter en retourneert een clientinstanceobject.MethodeParametersRetourtype:OmschrijvingcreateClient(sftpConnection)sftpConnection: TekenreeksNaam van uw SFTP-verbindingObjectMaakt een SFTP-client
- Gebruik
- const client = ai.sftp.createClient('mySftpConnectionSetting');
Basisbewerkingen client
U kunt de volgende bewerkingen uitvoeren op het clientinstanceobject dat is geretourneerd door de methode ai.createClient.
Methode | Parameters | Retourtype | Omschrijving |
|---|---|---|---|
isConnected() | Boole-waarde | Retourneert True als de SFTP-client is verbonden. Anders is dit niet het geval. | |
verbinding verbreken() | Hiermee wordt afgemeld en de clientsessie met de server gesloten. Alle verdere bewerkingen die op de client worden aangeroepen, resulteren in een uitzondering. | ||
delete(fileName) | fileName: tekenreeksnaam van het te verwijderen bestand | Hiermee wordt het opgegeven bestand verwijderd | |
hernoemen (renameFrom, renameTo) | renameFrom: Tekenreeks Oorspronkelijke naam van het bestand renameTo: Tekenreeks Nieuwe naam van het bestand | Hiermee wordt de naam van het opgegeven bestand gewijzigd: | |
createDirectory(direct naam) | Naam: Tekenreeks Relatief pad van de nieuwe map | Hiermee maakt u een map op de server. | |
changeDirectory(newLocation) | newLocation: Tekenreeks Relatief pad van de nieuwe locatie op de server | String | Hiermee wijzigt u de huidige werkmap op de server. Met deze bewerking wordt de huidige werkmap geretourneerd |
getCurrentDirectory() | String | De huidige werkmap ophalen | |
getFileSizeBytes(fileName) | fileName: tekenreeks Bestandsnaam voor de opgehaalde bestandsgrootte | Getal | Retourneert de grootte van het opgegeven bestand in bytes |
listCurrentDirectory() | Verzameling | Retourneert een lijst met alle bestanden en mappen in de huidige werkmap. |
Een bestand downloaden
Gebruik de volgende clientmethoden om bestanden van de server te downloaden.
downloadFile(fileName) | bestandsnaam: tekenreeks Naam van het te downloaden bestand | Object | Downloadt het bestand en retourneert een lezer om het bestand regel voor regel door te lezen. |
downloadEncryptedFile(fileName, encryptieSettingName) | bestandsnaam: tekenreeks Relatief pad van het te downloaden bestand EncryptieSettingName: Tekenreeks De naam van uw versleutelingsinstelling in het gebied Referenties in Integraties ontwerpen. | Object | Downloadt het bestand, ontsleutelt het met behulp van de opgegeven versleutelingsinstelling en retourneert een lezer om het bestand regel voor regel te lezen. |
downloadAndVerifyEncryptedFile(fileName, encryptieSettingName) | bestandsnaam: tekenreeks Relatief pad van het te downloaden bestand EncryptieSettingName: Tekenreeks De naam van uw versleutelingsinstelling in het gebied Referenties in Integraties ontwerpen. | Object | Downloadt het bestand, verifieert en decodeert het met behulp van de opgegeven coderingsinstelling en retourneert een lezer die het bestand regel voor regel moet lezen |
- Bestandslezermethoden
- U kunt deze methoden aanroepen voor het lezerobject dat is geretourneerd met de methode downloadFiles().readLine()StringLeest een bestand regel voor regelcleanUp()Maak de systeemresources vrij die worden gebruikt door het Reader-object van het bestand.FileReader kan niet worden gebruikt nadat de methode cleanup() is uitgevoerd.Resources worden aan het einde van het script automatisch opgeschoond.
- Voorbeeld
- //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() }
Bestand uploaden
Als u een bestand wilt uploaden, moet een schrijver worden gemaakt waarnaar regels kunnen worden geschreven. Het Write-object wordt opgehaald uit de naamruimte ai.sftp. Nadat het bestand is gemaakt, kan het op een van de volgende manieren naar de client worden geüpload.
uploadFile(writer, uploadedFileName) | Schrijver: schrijver Verkregen via de methode ai.sftp.createFileWriter() uploadedFileName: Tekenreeks Naam van het bestand dat u uploadt | Hiermee wordt het opgegeven bestand naar de server geüpload. | |
uploadEncryptedFile (writer, uploadedFileName, encryptieSettingName ) | Schrijver: schrijver Verkregen via de methode ai.sftp.createFileWriter() uploadedFileName: Tekenreeks Naam van het bestand dat u uploadt EncryptieSettingName: Tekenreeks Naam van uw versleutelingsinstelling | Versleutelt het bestand met behulp van de opgegeven versleutelingsinstelling (te vinden in het gebied Referenties in Integraties ontwerpen) en uploadt het naar de server. De bestandsnaam en -locatie worden opgegeven met het argument uploadedFileName. | |
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptieSettingName) | Schrijver: schrijver Verkregen via de methode ai.sftp.createFileWriter() uploadedFileName: Tekenreeks Naam van het bestand dat u uploadt EncryptieSettingName: Tekenreeks Naam van uw versleutelingsinstelling | Versleutelt en ondertekent het bestand met behulp van de opgegeven versleutelingsinstelling (te vinden in het gebied Referenties in Integraties ontwerpen) en uploadt het naar de server. De bestandsnaam en -locatie worden opgegeven met het argument uploadedFileName. |
- Methoden voor File Writer
- U kunt de volgende methoden gebruiken voor het Reader-object dat is geretourneerd door het downloaden van bestanden.writeLine(val)val : TekenreeksNaar een bestand te schrijven inhoudSchrijft inhoud regel voor regel naar een bestand.cleanUp()Maak de systeemresources vrij die worden verbruikt door het File Writer-object.Writer kan niet worden gebruikt nadat de methode cleanup() is uitgevoerd.Resources worden aan het einde van het script automatisch opgeschoond.
- Voorbeeld
- 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();
Opmerkingen over AWS-overdracht voor SFTP
Wanneer u via SFTP verbinding maakt met een AWS S3-server, zijn er enkele verschillen in het gedrag van de AWS S3-bestandsorganisatie in vergelijking met Open SSH-servers.
- Map maken
- Met AWS S3 kunt u het pad van nieuwe mappen opgeven. Bijvoorbeeld client.createDirectory('./parent/child'); maakt de bovenliggende map. Als de bovenliggende map echter al bestaat en u probeert een onderliggende map te maken, wordt een uitzondering gegenereerd.