SFTP
Mit dem SFTP-Connector können Sie eine Verbindung zu einem SFTP-Server herstellen und Dateiübertragungen ausführen.
Hinweise
Führen Sie in Ihrem Google Cloud-Projekt die folgenden Aufgaben aus:
- Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Weitere Informationen finden Sie unter Netzwerkverbindung.
- Weisen Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin zu.
- Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die IAM-Rollen
roles/secretmanager.viewer
undroles/secretmanager.secretAccessor
zu. - Aktivieren Sie
secretmanager.googleapis.com
(Secret Manager API) undconnectors.googleapis.com
(Connectors API). Weitere Informationen finden Sie unter Dienste aktivieren.
SFTP-Verbindung erstellen
Eine Verbindung ist für eine Datenquelle spezifisch. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:
- Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
- Wählen Sie im Bereich Standort einen Standort aus der Liste Region aus und klicken Sie dann auf Weiter.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Wählen Sie im Feld Connector die Option SFTP aus.
- Wählen Sie im Feld Connector-Version die gewünschte Version aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein. Der Verbindungsname darf Kleinbuchstaben, Zahlen oder Bindestriche enthalten. Der Name muss mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden. Er darf nicht länger als 49 Zeichen sein.
- Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
- Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. Die Logebene ist standardmäßig auf
Error
festgelegt. - Wählen Sie im Feld Dienstkonto ein Konto mit den erforderlichen Rollen aus.
- Optional: Konfigurieren Sie die Verbindungsknoteneinstellungen.
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
- Optional: Geben Sie im Feld Remote-Pfad den Ordnerpfad auf dem SFTP-Server ein, in dem die Entitätsvorgänge ausgeführt werden sollen, z. B.
List
,Create
,Update
oderDelete
. - Klicken Sie optional auf + Label hinzufügen, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Klicken Sie auf Weiter.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
Wenn Sie auf Elemente (Dateien oder Ordner) im Stammordner oder in den direkt untergeordneten Ordnern des Stammordners zugreifen, müssen Sie für dieses Feld keinen Wert festlegen. Wenn Sie jedoch auf verschachtelte Einheiten zugreifen möchten, die sich in einer Tiefe von mindestens zwei Ebenen vom Stammordner befinden, müssen Sie den Wert dieses Felds auf den Basispfad des Ordners festlegen, der die Einheiten enthält, auf die Sie zugreifen möchten. Wenn Sie beispielsweise auf die Datei
/folder_A/folder_B/folder_C/test.png
zugreifen möchten, müssen Sie den Remote-Pfad auf/folder_A/folder_B/folder_C
festlegen. - Geben Sie im Bereich Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten, und klicken Sie auf Weiter.
- Wenn Sie den Zielhostnamen oder die Ziel-IP-Adresse angeben möchten, wählen Sie Hostadresse aus und geben Sie die Adresse in das Feld Host 1 ein.
- Wenn Sie eine private Verbindung herstellen möchten, wählen Sie Endpunktanhang aus und wählen Sie den erforderlichen Anhang aus der Liste Endpunktanhang aus.
-
Wählen Sie im Bereich Authentifizierung einen Authentifizierungstyp aus, geben Sie die relevanten Details ein und klicken Sie auf Weiter.
Die folgenden Authentifizierungstypen werden von der SFTP-Verbindung unterstützt:
- Nutzername und Passwort
- SSH_PUBLIC_KEY
Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.
- Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails und klicken Sie dann auf Erstellen.
Wählen Sie im Feld Zieltyp den gewünschten Typ aus:
Wenn Sie eine öffentliche Verbindung zu Ihren Back-End-Systemen mit zusätzlicher Sicherheit herstellen möchten, können Sie statische ausgehende IP-Adressen für Ihre Verbindungen konfigurieren und dann Ihre Firewallregeln konfigurieren, um nur bestimmte statische IP-Adressen zuzulassen.
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
-
Nutzername und Passwort
- Nutzername: Der SFTP-Nutzername für die Verbindung.
- Kennwort: Secret Manager-Secret mit dem Passwort, das dem SFTP-Nutzernamen zugeordnet ist.
-
SSH_PUBLIC_KEY
- Nutzername: Das SFTP-Nutzerkonto, das zur Authentifizierung verwendet wird.
- Privater SSH-Schlüssel: Privater Schlüssel für die SSH-Authentifizierung.
- Passwort für den privaten SSH-Schlüssel: Passphrase/Passwort, das den privaten Schlüssel schützt, falls vorhanden.
- Typ des privaten SSH-Schlüssels: Format des privaten SSH-Schlüssels.
SFTP-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung in einer Integration über die Aufgabe „Connectors“ verwenden.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.
Aktionen
In diesem Abschnitt werden einige der vom Connector unterstützten Aktionen aufgeführt. Informationen zum Konfigurieren der Aktionen finden Sie unter Beispiele für Aktionen.
Uploadvorgang
In der folgenden Tabelle werden die Eingabeparameter der Aktion Upload
beschrieben.
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
Inhalt | String | Nein | Inhalte, die als Datei hochgeladen werden sollen. |
ContentBytes | String | Nein | Byte-Inhalt (als Base64-String), der als Datei hochgeladen werden soll. Damit können Sie binäre Daten hochladen. |
HasBytes | Boolesch | Nein | Gibt an, ob der Inhalt als Byte hochgeladen werden soll. Der Standardwert ist false . |
RemoteFile | String | Ja | Der Dateiname auf dem Remote-Host. |
Überschreiben | Boolesch | Nein | Gibt an, ob die Remotedatei überschrieben werden soll. Der Standardwert ist false . |
Beispiele für die Konfiguration der Aktion Upload
finden Sie unter Beispiele.
Aktion „Herunterladen“
In der folgenden Tabelle werden die Eingabeparameter der Aktion Download
beschrieben.
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
RemoteFile | String | Ja | Der Dateiname auf dem Remote-Host. |
HasBytes | Boolesch | Nein | Gibt an, ob der Inhalt als Byte heruntergeladen werden soll. Der Standardwert ist false . |
Beispiele für die Konfiguration der Aktion Download
finden Sie unter Beispiele.
Aktion „MoveFile“
In der folgenden Tabelle werden die Eingabeparameter der Aktion MoveFile
beschrieben.
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
RemoteFile | String | Ja | Der Pfad der Remote-Datei, die verschoben werden soll. |
DestinationPath | String | Ja | Der neue Pfad, in den Sie die Datei verschieben möchten. |
Beispiele für die Konfiguration der Aktion MoveFile
finden Sie unter Beispiele.
Aktion „RenameFile“
In der folgenden Tabelle werden die Eingabeparameter der Aktion RenameFile
beschrieben.
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
RemoteFile | String | Ja | Pfad und Name der Remote-Datei, die umbenannt werden soll. |
NewFileName | String | Ja | Neuer Name der Remotedatei. |
Beispiele für die Konfiguration der Aktion RenameFile
finden Sie unter Beispiele.
Beispiele
In diesem Abschnitt wird beschrieben, wie Sie einige Entitätsvorgänge und -aktionen in diesem Connector ausführen. In den Beispielen werden die folgenden Vorgänge beschrieben:
- Alle Dateien im Stammverzeichnis auflisten
- Dateien auflisten, die einem Muster in einem Verzeichnis entsprechen
- Datei verschieben
- Eine Datei umbenennen
- Dateien löschen
- ASCII-Textdatei hochladen
- Binärdatei hochladen
- ASCII-Textdatei herunterladen
- Binärdatei herunterladen
- Mehrere Dateien herunterladen
In der folgenden Tabelle sind die Beispielszenarien und die entsprechende Konfiguration in der Connectors-Aufgabe aufgeführt:
Aufgabe | Befehlsbeispiel | Konfiguration |
---|---|---|
Alle Dateien im Stammverzeichnis auflisten | ls / |
|
.csv -Dateien in einem Verzeichnis auflisten |
ls /tmp/*.csv |
|
Datei verschieben | mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/ |
In diesem Beispiel wird die Datei [{ "Success":"true" }] |
Eine Datei umbenennen | mv /tmp/hello_world.txt /tmp/hello_world_new.txt |
In diesem Beispiel wird die Datei [{ "Success":"true" }] |
Dateien löschen | rm /tmp/myfile.csv |
|
ASCII-Textdatei hochladen | put file_1.txt /tmp/file_1.txt |
In diesem Beispiel wird die Datei Das Festlegen des Attributs |
Binärdatei hochladen | put image_1.png /tmp/image_1.png |
Zum Hochladen einer Binärinhalt müssen Sie zuerst den Inhalt im Base64-Format codieren. Sie können ein Tool Ihrer Wahl auswählen, um den Inhalt zu codieren. Schritte zum Codieren des Inhalts werden in diesem Dokument nicht behandelt. Nachdem Sie den Inhalt als Base64-String haben, führen Sie die folgenden Schritte aus:
In diesem Beispiel wird die Datei Das Festlegen des Attributs |
ASCII-Textdatei herunterladen | get /tmp/myfile.txt |
Der Inhalt der heruntergeladenen Datei ist als String im Feld |
Binärdatei herunterladen | get /tmp/myfile.png |
Der Inhalt der heruntergeladenen Datei ist als Base64-codierter String im Feld |
Mehrere Dateien herunterladen |
|
|
Systembeschränkungen
Der SFTP-Connector kann eine Transaktion pro Sekunde und Knoten verarbeiten und drosselt alle Transaktionen, die dieses Limit überschreiten. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.
Informationen zu den für Integration Connectors geltenden Limits finden Sie unter Limits.
Verbindungen mit Terraform erstellen
Sie können die Terraform-Ressource verwenden, um eine neue Verbindung zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Ein Beispiel für eine Terraform-Vorlage zum Erstellen einer Verbindung finden Sie hier.
Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
remote_path | STRING | Falsch | Der aktuelle Pfad auf dem SFTP-Server. |
JSON-Schema für Nutzlast
Alle Entitätsobjekte in einer SFTP-Verbindung haben ein vordefiniertes JSON-Schema. Die Entitätsobjekte in einer SFTP-Verbindung verwenden das folgende JSON-Schema:
{ "type": "object", "properties": { "FilePath": { "type": "string", "readOnly": false }, "Filename": { "type": [ "string", "null" ], "readOnly": false, "description": "The name of the file or directory." }, "FileSize": { "type": [ "number", "null" ], "readOnly": false, "description": "The size of the file." }, "LastModified": { "type": [ "string", "null" ], "readOnly": false }, "IsDirectory": { "type": [ "boolean", "null" ], "readOnly": false }, "Permissions": { "type": [ "string", "null" ], "readOnly": false }, "Owner": { "type": [ "string", "null" ], "readOnly": false }, "OwnerId": { "type": [ "string", "null" ], "readOnly": false }, "Group": { "type": [ "string", "null" ], "readOnly": false }, "GroupId": { "type": [ "string", "null" ], "readOnly": false } } }
Hilfe von der Google Cloud-Community erhalten
Sie können Ihre Fragen und Anregungen zu diesem Connector in der Google Cloud-Community unter Cloud-Foren posten.
Nächste Schritte
- Verbindung anhalten und fortsetzen
- Informationen zum Überwachen der Connector-Nutzung
- Connector-Logs ansehen