ai.sftp
L'articolo descrive lo spazio dei nomi ai.sftp e i metodi associati per creare un client, eseguire operazioni di base del client, caricare e scaricare file con gli oggetti Reader e Writer.
Lo spazio dei nomi ai.sftp consente a un utente di caricare e scaricare file su un server SFTP. Consente inoltre di caricare e scaricare file crittografati, consentendo di crittografarli e decrittografarli con PGP.
Creare un cliente
- ai.sftp.createClient
- È possibile creare un'istanza SFTP con il metodo createClient() e avviare tutte le operazioni con il server SFTP. Questa funzione utilizza il nome della stringa di connessione SFTP configurata per lo script come parametro e restituisce un oggetto istanza client.MetodoParametriTipo di resoDescrizionecreateClient(sftpConnection)sftpConnection : StringNome della connessione SFTPOggettoCrea un client SFTP
- Utilizzo
- const client = ai.sftp.createClient('mySftpConnectionSetting');
Operazioni client di base
È possibile eseguire le seguenti operazioni sull'oggetto istanza client restituito dal metodo ai.createClient.
Metodo | Parametri | Tipo reso | Descrizione |
|---|---|---|---|
isConnected() | Booleano | Restituisce True se il client SFTP è connesso; Falso in caso contrario. | |
disconnect() | Si disconnette e chiude la sessione client con il server. Qualsiasi ulteriore operazione chiamata sul client comporterà la generazione di un'eccezione. | ||
delete(fileName) | fileName : String Nome del file da eliminare | Elimina il file specificato | |
rinomina (renameFrom, renameTo) | renameFrom : String Originale Nome del file renameTo : String Nuovo nome del file | Rinomina il file specificato | |
createDirectory(directoryName) | Nome: stringa Percorso relativo della nuova directory | Crea una directory nel server. | |
changeDirectory(newLocation) | newLocation : String Percorso relativo della nuova sede sul server | String | Modifica la directory di lavoro corrente sul server. Questa operazione restituirà la directory di lavoro corrente |
getCurrentDirectory() | String | Recuperare la directory di lavoro corrente | |
getFileSizeBytes(fileName) | fileName : String Nome file per le dimensioni del file recuperato | Numero | Restituisce le dimensioni del file specificato in byte |
listCurrentDirectory() | Raccolta | Restituisce un elenco di tutti i file e le directory nella directory di lavoro corrente. |
Scaricare un file
Utilizzare i seguenti metodi client per scaricare i file dal server.
downloadFile(fileName) | fileName: String Nome del file da scaricare | Oggetto | Scarica il file e restituisce a un lettore di leggere il file riga per riga. |
downloadEncryptedFile(fileName, encryptionSettingName) | fileName : String Percorso relativo del file da scaricare cryptSettingName : String Nome dell'impostazione di crittografia nell'area Credenziali in Design Integrations. | Oggetto | Scarica il file, lo decrittografa utilizzando l'impostazione di crittografia specificata e restituisce a un lettore di leggere il file riga per riga. |
downloadAndVerifyEncryptedFile(fileName, encryptionSettingName) | fileName : String Percorso relativo del file da scaricare cryptSettingName : String Nome dell'impostazione di crittografia nell'area Credenziali in Design Integrations. | Oggetto | Scarica il file, lo verifica e lo decrittografa utilizzando l'impostazione di crittografia specificata e restituisce un lettore che legge il file riga per riga |
- Metodi di lettura file
- È possibile richiamare questi metodi sull'oggetto reader restituito dal metodo downloadFiles().readLine()StringLegge un file riga per rigacleanUp()Liberare le risorse di sistema utilizzate dall'oggetto di lettura del file.Impossibile utilizzare FileReader dopo aver eseguito il metodo cleanup().Le risorse vengono ripulite automaticamente alla fine dello script.
- Esempio
- //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() }
Caricare un file
Per caricare un file, è necessario creare un writer in cui è possibile scrivere le righe. L'oggetto writer viene ottenuto dallo spazio dei nomi ai.sftp. Una volta creato, il file può essere caricato sul client utilizzando uno dei metodi seguenti.
uploadFile(writer, uploadedFileName) | Scrittore: scrittore Ottenuto dal metodo ai.sftp.createFileWriter() uploadedFileName: String Nome del file che si sta caricando | Carica il file specificato sul server. | |
uploadEncryptedFile (writer, uploadedFileName, encryptionSettingName ) | Scrittore: scrittore Ottenuto dal metodo ai.sftp.createFileWriter() uploadedFileName: String Nome del file che si sta caricando cryptSettingName : String Nome dell'impostazione di crittografia | Crittografa il file utilizzando l'impostazione di crittografia specificata (disponibile nell'area Credenziali in Design Integrations) e lo carica sul server. Il nome e il percorso del file sono specificati dall'argomento uploadedFileName. | |
uploadEncryptedAndSignedFile(writer, uploadedFileName, encryptionSettingName) | Scrittore: scrittore Ottenuto dal metodo ai.sftp.createFileWriter() uploadedFileName: String Nome del file che si sta caricando cryptSettingName : String Nome dell'impostazione di crittografia | Crittografa e firma il file utilizzando l'impostazione di crittografia specificata (disponibile nell'area Credentials in Design Integrations) e lo carica sul server. Il nome e il percorso del file sono specificati dall'argomento uploadedFileName. |
- Metodi di scrittura file
- È possibile richiamare i seguenti metodi sull'oggetto Reader restituito dal download dei file.writeLine(val)val : StringContenuto da scrivere in un fileScrive il contenuto in un file riga per riga.cleanUp()Liberare le risorse di sistema utilizzate dall'oggetto File Writer.Il writer non può essere utilizzato dopo l'esecuzione del metodo cleanup().Le risorse vengono ripulite automaticamente alla fine dello script.
- Esempio
- 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();
Note su AWS Transfer for SFTP
Durante la connessione a un server AWS S3 tramite SFTP, esistono alcune differenze di comportamento con l'organizzazione dei file AWS S3 rispetto ai server Open SSH.
- CreateDirectory
- AWS S3 consente di specificare il percorso delle nuove directory. Ad esempio, client.createDirectory('./parent/child'); creerà la directory padre. Tuttavia, se la directory padre esiste già e si tenta di creare una directory figlio, verrà generata un'eccezione.