Impostare e configurare un SFTP
È possibile creare un client per connettersi al server SFTP (Secure File Transfer Protocol) ed eseguire varie operazioni sui file. Questo articolo illustra come aggiungere una connessione SFTP all'origine dati cloud personalizzata e come includere la connessione SFTP nello script. Consultare Configurare la crittografia PGP per informazioni sulla crittografia e la decodifica dei file.
Prima di iniziare
- Scarsa familiarità con le origini dati cloud personalizzate? Consultare Concetto: Panoramica di CCDS e Configurare un'origine dati cloud personalizzata
- Autorizzazioni obbligatorie:Sviluppatore di integrazioniinAmministrazione > Set di autorizzazioni.
Navigazione
Dal menu di navigazione, accedere a Impostare e configurare un SFTP
Creazione di una nuova connessione SFTP
- Creare unaConnessione SFTPdal riquadroin Progettazione integrazioni.Credenziali
- Immettere un nome per la connessione e fare clic suCrea.
- Immettere l'espressione host nel modulo di connessione. Se non viene specificato diversamente, le connessioni utilizzano la porta 22. Sono supportate le seguenti porte:
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Scegliere il metodo di autenticazione.
- Per l'autenticazione con chiave privata non è richiesta alcuna password.
- Per l'autenticazione di base, immettere una password.
- Per l'autenticazione con chiave privata, inviare la chiave pubblica all'amministratore del server client per l'installazione.
- SelezionareTest di connessioneper la prima volta.
Per l'autenticazione con chiave privata o di base:
- Quando si selezionaTest di connessioneper la prima volta, il campoImpronta digitaleviene compilato. Si abilita in tal modo la verifica del server per le connessioni future. L'amministratore del server client può verificare l'impronta digitaleconfermando che l'utente è connesso al server corretto.
- Dopo aver eseguito per la prima volta ilTest di connessione, fare clic sulla connessione SFTP nel riquadroCredenzialiper ricaricare la connessione e visualizzare il campo dell'impronta digitale.
- Se si selezionaTest di connessioneo si utilizza la connessione SFTP in uno script, l'impronta digitale sul server deve corrispondere, altrimenti la connessione non verrà eseguita.
- Selezionare l'origine dati cloud personalizzata
- Selezionare un CCDS o crearne uno daOrigini datiin Design Integrations.
- Aggiungere una connessione SFTP all'origine dati cloud personalizzata
- Selezionare la scheda Impostazioni designer per l'origine dati cloud personalizzata.
- Trascinare il parametroConnessione SFTPdaImpostazioni aggiuntivenel riquadroComponente impostazioni.
- Configurare la connessione SFTP nella scheda Impostazioni designer Il nome dell'impostazione è l'handle che verrà utilizzato all'interno dello script. Ad esempio, "sftpserver".
- Aggiungere la connessione SFTP nello script
- Creare un client utilizzando ai.sftp.createClient() e fornire il nome dell'impostazione SFTP. Ad esempio:const client = ai.sftp.createClient('mysftp').Dopo la connessione, viene creato un oggetto client.
- Per eseguire lo script, verificare la connessione dal riquadroAzioni. È possibile trovare i risultati del test dello script inRegistrinel riquadroAzioni.
Metodi SFTP per il caricamento e il download di file
Utilizzare i metodi seguenti per creare un client, caricare e scaricare file crittografati su un server SFTP e crittografarli o decrittografarli con PGP. Consultare ai.sftp.
- createClient(sftpConnection)client = ai.sftp.createClient('mysftp');
- uploadFile(Writer, uploadedFileName)client.uploadFile(writer,'./archive/datasample.csv.asc');
- downloadFile(filename)client.downloadFile('./archive/datasample.csv.asc');
- Disconnettere il clientclient.disconnect();
- Liberare le risorse di sistema utilizzate dall'oggetto di lettura del file.reader.cleanUp();
Esempio di connessione e download di file da un server SFTP
function testConnection(context) { let client; try { client = ai.sftp.createClient('mysftp'); } catch(e) { ai.log.logError('An error occurred connecting to the server: ' + e); return false; } finally { if (client) client.disconnect(); } return true; } function importData(context) { const rowset = context.getRowset(); const client = ai.sftp.createClient('mysftp'); const reader = client.downloadFile('./someData.csv'); try { reader.readLine(); let line = reader.readLine(); while (line) { let cells = line.split(','); rowset.addRow(cells); line = reader.readLine(); } } catch(e) { ai.log.logError('An error occurred downloading the file: ' + e); } finally { client.disconnect(); reader.cleanUp(); } }