Een SFTP instellen en configureren
U kunt een client maken om verbinding te maken met uw SFTP-server (Secure File Transfer Protocol) en verschillende bewerkingen op uw bestanden uit te voeren. In dit artikel wordt uitgelegd hoe u een SFTP-verbinding toevoegt aan de aangepaste cloudgegevensbron (CCDS) en hoe u de SFTP-verbinding in uw script opneemt. Zie PGP-versleuteling instellen voor informatie over het versleutelen en ontsleutelen van uw bestanden.
Voordat u begint
- Is CCDS nieuw voor u? Zie Concept: CCDS-overzicht en Een aangepaste cloudgegevensbron (CCDS) instellen
- Vereiste machtigingen:IntegratieontwikkelaarinBeheer > Machtigingenset
Navigatie
From the nav menu, go to Een SFTP instellen en configureren
Een nieuwe SFTP-verbinding maken
- Maak eenSFTP-verbindingvanuit het deelvensterin Integraties ontwerpen.Referenties
- Voer een naam in voor de verbinding en klik opMaken.
- Voer de hostexpressie in het verbindingsformulier in. Verbindingen gebruiken poort 22 als u ze niet opgeeft. We ondersteunen de volgende poorten:
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Kies uw verificatiemethode.
- Voor verificatie van de persoonlijke sleutel is geen wachtwoord vereist.
- Voer een wachtwoord in voor basisverificatie.
- Voor verificatie van de persoonlijke sleutel stuurt u de openbare sleutel naar de beheerder van de clientserver voor installatie.
- Selecteer voor de eerste keerVerbinding testen.
Voor verificatie van de persoonlijke sleutel of basisverificatie:
- Wanneer u voor de eerste keerVerbinding testenselecteert, wordt het veldVingerafdrukingevuld. Dit maakt serververificatie mogelijk voor toekomstige verbindingen. De beheerder van de clientserver kan devingerafdrukverifiëren om te bevestigen dat u met de juiste server bent verbonden.
- Nadat u voor de eerste keerVerbinding testenhebt uitgevoerd, klikt u op uw SFTP-verbinding in het deelvensterReferentiesom de verbinding opnieuw te laden en het veld Vingerafdruk weer te geven.
- Wanneer uVerbinding testenselecteert of de SFTP-verbinding in een script gebruikt, moet de vingerafdruk van de server overeenkomen, anders mislukt de verbinding.
- Uw aangepaste cloudgegevensbron selecteren
- Selecteer een CCDS of maak een CCDS op basis vanGegevensbronnenin Integraties ontwerpen.
- Een SFTP-verbinding toevoegen aan de aangepaste cloudgegevensbron
- Selecteer het tabblad Ontwerper-instellingen voor uw CCDS.
- Sleep de parameterSFTP-verbindingvanuitAanvullende instellingennaar het deelvensterInstellingencomponent.
- Configureer de SFTP-verbinding op het tabblad Ontwerper-instellingen. De naam van de instelling is de sleutel die u in uw script gebruikt. Bijvoorbeeld sftpserver.
- De SFTP-verbinding toevoegen in uw script
- Maak een client met ai.sftp.createClient() en geef de naam van uw SFTP-instelling op. Bijvoorbeeld:const client = ai.sftp.createClient('mysftp').Nadat de verbinding is gemaakt, wordt een clientobject gemaakt.
- Test uw verbinding in het deelvensterActiesom uw script uit te voeren. U vindt de testresultaten van uw script inLogboekenin het deelvensterActies.
SFTP-methoden voor het uploaden en downloaden van bestanden
Gebruik de volgende methoden om een client te maken, versleutelde bestanden te uploaden en te downloaden naar een SFTP-server en ze te versleutelen of te ontsleutelen met PGP. Zie 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');
- De client ontkoppelenclient.disconnect();
- Maak de systeemresources vrij die worden gebruikt door het Reader-object van het bestand.reader.cleanUp();
Voorbeeld voor het verbinden en downloaden van bestanden van een SFTP-server
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(); } }