Skip to main content
Adaptive Planning
Laatst bijgewerkt: 2023-06-23
ai.sftp

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.
Methode
Parameters
Retourtype:
Omschrijving
createClient(sftpConnection)
sftpConnection: Tekenreeks
Naam van uw SFTP-verbinding
Object
Maakt 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()
String
Leest een bestand regel voor regel
cleanUp()
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 : Tekenreeks
Naar een bestand te schrijven inhoud
Schrijft 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.