SFTP einrichten und konfigurieren
Sie können einen Client erstellen, um eine Verbindung zu Ihrem SFTP-Server (Secure File Transfer Protocol) herzustellen und verschiedene Operationen mit Ihren Dateien durchzuführen. In diesem Artikel wird erläutert, wie Sie einer benutzerdefinierten Cloud-Datenquelle (CCDS) eine SFTP-Verbindung hinzufügen und die SFTP-Verbindung in Ihr Skript einfügen. Informationen zum Verschlüsseln und Entschlüsseln Ihrer Dateien finden Sie im Abschnitt zur Einrichtung der PGP-Verschlüsselung.
Bevor Sie beginnen
- Noch nicht vertraut mit CCDS? Siehe Konzept: CCDS-Übersicht und Benutzerdefinierte Cloud-Datenquelle (CCDS) einrichten
- Erforderliche Berechtigungen:IntegrationsentwicklerunterVerwaltung > Berechtigungssätze
Navigation
Wechseln Sie im Navigationsmenü zu . SFTP einrichten und konfigurieren
Neue SFTP-Verbindung erstellen
- Erstellen Sie eineSFTP-Verbindungunter „Integrationsdesign“ im Bereich.Zugangsdaten
- Geben Sie einen Namen für die Verbindung ein und klicken Sie aufErstellen.
- Geben Sie den Hostausdruck in das Verbindungsformular ein. Verbindungen verwenden Port 22, wenn Sie sie nicht angeben. Folgende Ports werden unterstützt:
- 22
- 1224
- 2222
- 5022
- 5031
- 5122
- 10022
- 20022
- Wählen Sie Ihre Authentifizierungsmethode aus.
- Für die Authentifizierung mit einem privaten Schlüssel ist kein Kennwort erforderlich.
- Geben Sie für die Basisauthentifizierung ein Kennwort ein.
- Senden Sie bei der Authentifizierung mit einem privaten Schlüssel den öffentlichen Schlüssel zur Installation an den Administrator des Client-Servers.
- Klicken Sie jetzt aufVerbindung testen.
Für den privaten Schlüssel oder die Basisauthentifizierung gilt Folgendes:
- Wenn Sie zum ersten Mal aufVerbindung testenklicken, wird das FeldFingerabdruckausgefüllt. Dies ermöglicht die Serververifizierung für zukünftige Verbindungen. Der Administrator des Client-Servers kann denFingerabdruckverifizieren und bestätigen, dass Sie mit dem richtigen Server verbunden sind.
- Nachdem SieVerbindung testenzum ersten Mal ausgeführt haben, klicken Sie im BereichZugangsdatenauf Ihre SFTP-Verbindung, um die Verbindung neu zu laden und das Feld „Fingerabdruck“ anzuzeigen.
- Wenn Sie aufVerbindung testenklicken oder die SFTP-Verbindung in einem Skript verwenden, muss der Fingerabdruck vom Server übereinstimmen oder die Verbindung schlägt fehl.
- Benutzerdefinierte Cloud-Datenquelle auswählen
- Wählen Sie eine CCDS aus oder erstellen Sie eine CCDS imBereich Datenquellenunter „Integrationsdesign“.
- SFTP-Verbindung zur benutzerdefinierten Cloud-Datenquelle hinzufügen
- Klicken Sie auf das Register „Designer-Einstellungen“ Ihrer CCDS.
- Ziehen Sie per Drag-and-Drop den ParameterSFTP-VerbindungunterZusätzliche Einstellungenim BereichEinstellungskomponente.
- Konfigurieren Sie die SFTP-Verbindung auf dem Register „Designer-Einstellungen“. Der Einstellungsname ist das Handle, das Sie in Ihrem Skript verwenden. Beispiel: „sftpserver“.
- SFTP-Verbindung zum Skript hinzufügen
- Erstellen Sie mit ai.sftp.createClient() einen Client und geben Sie den Namen Ihrer SFTP-Einstellung an. Beispiel:const client = ai.sftp.createClient('mysftp').Nach erfolgreicher Verbindung wird ein Client-Objekt erstellt.
- Testen Sie Ihre Verbindung über den BereichAktionen, um Ihr Skript auszuführen. Die Testergebnisse Ihres Skripts finden Sie unterProtokolleim BereichAktionen.
SFTP-Methoden für Datei-Upload und -Download
Verwenden Sie die folgenden Methoden, um einen Client zu erstellen, verschlüsselte Dateien auf einen SFTP-Server hochzuladen und herunterzuladen und um sie mit PGP zu verschlüsseln oder zu entschlüsseln. Siehe 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');
- Verbindung zum Client trennenclient.disconnect();
- Vom Datei-Reader-Objekt beanspruchte Systemressourcen freigebenreader.cleanUp();
Beispiel für Verbindung mit SFTP-Server und Datei-Download
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(); } }