Passa al contenuto principale
Adaptive Planning
ai.sftp

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.
Metodo
Parametri
Tipo di reso
Descrizione
createClient(sftpConnection)
sftpConnection : String
Nome della connessione SFTP
Oggetto
Crea 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()
String
Legge un file riga per riga
cleanUp()
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 : String
Contenuto da scrivere in un file
Scrive 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.