FTP

Mit dem FTP-Connector können Sie eine Verbindung zu einem FTP-Server herstellen und Dateiübertragungen ausführen.

Hinweis

Führen Sie vor der Verwendung des FTP-Connectors die folgenden Aufgaben aus:

  • In Ihrem Google Cloud-Projekt:
    • Prüfen Sie, ob die Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern 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 folgenden IAM-Rollen zu:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Weitere Informationen finden Sie unter Dienstkonto erstellen.

    • Aktivieren Sie die folgenden Dienste:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.

    Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.

Connector konfigurieren

Für die Konfiguration des Connectors müssen Sie eine Verbindung zu Ihrer Datenquelle (Backend-System) 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:

  1. 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.

    Zur Seite „Verbindungen“

  2. Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
  3. Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
    1. Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.

      Eine Liste aller unterstützten Regionen finden Sie unter Standorte.

    2. Klicken Sie auf Weiter.
  4. Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
    1. Connector: Wählen Sie FTP aus der Drop-down-Liste der verfügbaren Connectors aus.
    2. Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
    3. Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.

      Verbindungsnamen müssen die folgenden Kriterien erfüllen:

      • Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
      • Buchstaben müssen Kleinbuchstaben sein.
      • Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
      • Verbindungsnamen dürfen maximal 49 Zeichen haben.
    4. Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
    5. Aktivieren Sie optional Cloud Logging. und wählen Sie dann eine Logebene aus. Die Logebene ist standardmäßig auf Error festgelegt.
    6. Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
    7. Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:

      • Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
      • Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.

      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.

    8. Tiefe des Dateiabrufs: Geben Sie die Tiefe der Ordner an, die Sie über die Stammtabelle abfragen möchten.
    9. Passiv: Steuert, ob der Server in den passiven Modus geleitet wird. Empfohlen, wenn sich das Gerät hinter einer Firewall befindet.
    10. Remote-Pfad: Der aktuelle Pfad auf dem FTP-Server.
    11. SSL-Modus: Der Authentifizierungsmechanismus, der beim Herstellen einer Verbindung zum FTP-Server verwendet werden soll.
    12. Tabellentiefe: Die Tiefe, um Unterordner als Ansichten anzuzeigen.
    13. MLSD verwenden: Verwendet Einträge für die maschinelle Verarbeitung. Wird nur für FTP-Server verwendet.
    14. Klicken Sie optional auf + Label hinzufügen, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    15. Klicken Sie auf Weiter.
  5. Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
    1. Destination Type: Wählen Sie einen Destination Type aus.
      • Wählen Sie aus der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse für das Ziel anzugeben.
      • Wenn Sie eine private Verbindung zu Ihren Backend-Systemen herstellen möchten, wählen Sie in der Liste Endpunktanhang und dann den erforderlichen Endpunktanhang aus der Liste Endpunktanhang 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.

      Wenn Sie weitere Ziele eingeben möchten, klicken Sie auf + Ziel hinzufügen.

    2. Klicken Sie auf Weiter.
  6. Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
    1. Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.

      Die folgenden Authentifizierungstypen werden von der FTP-Verbindung unterstützt:

      • Nutzername und Passwort
    2. Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.

    3. Klicken Sie auf Next (Weiter).
  7. Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
  8. Klicken Sie auf Erstellen.

Authentifizierung konfigurieren

Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.

  • Nutzername und Passwort
    • Nutzername: Der FTP-Nutzername für die Verbindung.
    • Kennwort: Secret Manager-Secret mit dem Passwort, das dem FTP-Nutzernamen zugeordnet ist.

Entitäten, Vorgänge und Aktionen

Alle Integration Connectors bieten eine Abstraktionsebene für die Objekte der verbundenen Anwendung. Sie können nur über diese Abstraktion auf die Objekte einer Anwendung zugreifen. Die Abstraktion wird Ihnen als Entitäten, Vorgänge und Aktionen zur Verfügung gestellt.

  • Entität: Eine Entität kann als Objekt oder Sammlung von Attributen in der verbundenen Anwendung oder im verbundenen Dienst verstanden werden. Die Definition einer Entität unterscheidet sich von Connector zu Connector. Beispiel: In einem Datenbank-Connector sind Tabellen die Entitäten, in einem Dateiserver-Connector sind Ordner die Entitäten und in einem Nachrichtensystem-Connector sind Warteschlangen die Entitäten.

    Es ist jedoch möglich, dass ein Connector keine Entitäten unterstützt oder keine Entitäten enthält. In diesem Fall ist die Liste Entities leer.

  • Vorgang: Ein Vorgang ist die Aktivität, die Sie für eine Entität ausführen können. Sie können einen der folgenden Vorgänge für eine Entität ausführen:

    Durch Auswahl einer Entität aus der verfügbaren Liste wird eine Liste der Vorgänge generiert, die für die Entität verfügbar sind. Eine detaillierte Beschreibung der Vorgänge finden Sie in den Entitätsvorgängen der Connectors-Aufgabe. Wenn ein Connector jedoch keinen der Entitätsvorgänge unterstützt, werden diese nicht unterstützten Vorgänge nicht in der Liste Operations aufgeführt.

  • Aktion: Eine Aktion ist eine Funktion erster Klasse, die über die Connector-Benutzeroberfläche für die Integration verfügbar gemacht wird. Mit einer Aktion können Sie Änderungen an einer oder mehreren Entitäten vornehmen, die von Connector zu Connector unterschiedlich sind. Normalerweise hat eine Aktion einige Eingabeparameter und eine Ausgabe . Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die Actions-Liste leer.

Systembeschränkungen

Der FTP-Connector kann pro Sekunde eine Transaktion verarbeiten. pro Knoten, und drosselt Transaktionen über diesen Grenzwert hinaus. Standardmäßig werden von Integration Connectors zwei Knoten (für eine bessere Verfügbarkeit) für eine Verbindung zugewiesen.

Informationen zu den Limits für Integration Connectors finden Sie unter Limits.

Aktionen

In diesem Abschnitt sind einige der vom Connector unterstützten Aktionen aufgeführt. Um zu verstehen, wie die siehe Beispiele für Aktionen.

Uploadaktion

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 Byteinhalt (als Base64-String), der als Datei hochgeladen werden soll. Verwenden Sie diese Option, um Binärdaten hochzuladen.
HasBytes Boolesch Nein Gibt an, ob die Inhalte als Bytes hochgeladen werden sollen. Der Standardwert ist false.
RemoteFile String Ja Der Dateiname auf dem Remotehost.
Überschreiben Boolesch Nein Gibt an, ob die Remote-Datei überschrieben werden soll. Der Standardwert ist false.

Beispiele für die Konfiguration der Aktion Upload finden Sie unter Beispiele.

Downloadaktion

In der folgenden Tabelle werden die Eingabeparameter der Aktion Download beschrieben.

Parametername Datentyp Erforderlich Beschreibung
RemoteFile String Ja Der Dateiname auf dem Remotehost.
HasBytes Boolesch Nein Gibt an, ob der Inhalt in Byte heruntergeladen werden soll. Der Standardwert ist false.

Beispiele zum Konfigurieren 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, an den Sie die Datei verschieben möchten.

Beispiele für die Konfiguration der Aktion MoveFile finden Sie unter Beispiele.

Aktion „Datei umbenennen“

In der folgenden Tabelle werden die Eingabeparameter der Aktion RenameFile beschrieben.

Parametername Datentyp Erforderlich Beschreibung
RemoteFile String Ja Pfad und Name der Remotedatei, die umbenannt werden soll.
NewFileName String Ja Neuer Name der Remote-Datei.

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

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 /
  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie die Entität Root und dann den Vorgang List aus.
  3. Klicken Sie auf Fertig.
.csv-Dateien in einem Verzeichnis auflisten ls /tmp/*.csv
  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie das Basisverzeichnis (/tmp) aus der Liste Entity aus.
  3. Wählen Sie den Vorgang List aus und klicken Sie auf Fertig.
  4. Legen Sie die Filterklausel fest. Klicken Sie zum Festlegen der Klausel im Bereich Aufgabeneingabe der Aufgabe Connectors auf filterClause und geben Sie dann FilePath LIKE '/tmp/%.csv' in das Feld Standardwert ein.
Datei verschieben mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion MoveFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in Feld Default Value ein:
    {
    "RemoteFile": "/tmp/dir_A/hello_world.txt",
    "DestinationPath": "/dir_B/dir_C/"
    }

In diesem Beispiel wird /tmp/dir_A/hello_world.txt verschoben in das Verzeichnis /dir_B/dir_C/. Wenn Sie dieses Beispiel ausführen, wird in der Ausgabevariablen connectorOutputPayload der Connector-Aufgabe eine Antwort zurückgegeben, die der folgenden ähnelt:

[{
"Success":"true"
}]
Eine Datei umbenennen mv /tmp/hello_world.txt /tmp/hello_world_new.txt
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion RenameFile aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in Feld Default Value ein:
    {
    "RemoteFile": "/tmp/hello_world.txt",
    "NewFilename": "hello_world_new.txt"
    }

In diesem Beispiel wird hello_world.txt umbenannt in hello_world_new.txt verschieben. Bei diesem Beispiel wird eine ähnliche Antwort zurückgegeben. in die Ausgabevariable connectorOutputPayload der Connector-Aufgabe:

[{
"Success":"true"
}]
Dateien löschen rm /tmp/myfile.csv
  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie in der Liste Entity das Basisverzeichnis aus, in dem sich die zu verschiebende Datei befindet.
  3. Wählen Sie den Vorgang Delete aus und klicken Sie auf Fertig.
  4. Legen Sie die Entitäts-ID auf den vollständigen Pfad der Datei fest. Klicken Sie zum Festlegen der Entitäts-ID im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann /tmp/myfile.csv in das Feld Standardwert ein.

    Anstelle der entityId können Sie auch die filterClause auf FilePath LIKE '/tmp/myfile.csv' festlegen.

ASCII-Textdatei hochladen put file_1.txt /tmp/file_1.txt
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion Upload aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie Folgendes in das Feld Default Value ein:
    {
      "Content": "This is a sample text!\r\n",
      "RemoteFile": "/tmp/file_1.txt",
      "Overwrite": true
    }
  4. In diesem Beispiel wird die Datei file_1.txt mit dem Inhalt This is a sample text! im Verzeichnis /tmp des FTP-Servers erstellt. Alle vorhandenen Dateien mit demselben Namen werden überschrieben, da der Wert des Attributs Overwrite true ist.

    Das Festlegen des Attributs Overwrite ist optional; der Wert ist standardmäßig false.

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:
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion Upload aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie Folgendes in das Feld Default Value ein:
    {
      "ContentBytes": "SGVsbG8gd29ybGQ=",
      "RemoteFile": "/tmp/image_1.png",
      "Overwrite": true,
      "HasBytes": true
    }
  4. In diesem Beispiel wird die Datei image_1.png mit dem Inhalt erstellt, wie im Feld ContentBytes angegeben. Die Datei wird im Verzeichnis /tmp des FTP-Servers erstellt. Alle vorhandenen Dateien mit demselben Namen werden überschrieben, da der Wert des Attributs Overwrite true ist.

    Das Festlegen des Attributs Overwrite ist optional; der Wert ist standardmäßig false.

ASCII-Textdatei herunterladen get /tmp/myfile.txt
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion Download aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabenausgabe der Aufgabe Connectors auf connectorInputPayload und geben Sie Folgendes in das Feld Default Value ein:
    {
    "RemoteFile": "/tmp/myfile.txt"
    }

Der Inhalt der heruntergeladenen Datei steht als String im Feld Content des Antwortparameters connectorOutputPayload der Connector-Aufgabe zur Verfügung.

Binärdatei herunterladen get /tmp/myfile.png
  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion Download aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabenausgabe der Aufgabe Connectors auf connectorInputPayload und geben Sie Folgendes in das Feld Default Value ein:
    {
    "RemoteFile": "/tmp/myfile.png",
    "HasBytes" : true
    }

Der Inhalt der heruntergeladenen Datei steht als Base64-codierter String im Feld ContentBytes des Antwortparameters connectorOutputPayload der Connector-Aufgabe zur Verfügung.

JSON-Schema für Nutzlast

Alle Entitätsobjekte in einer FTP-Verbindung haben ein vordefiniertes JSON-Schema. Wenn Sie das Schema gut kennen, können Sie die Nutzlastwerte für die Eingabe oder Ausgabe einfach konfigurieren. Die Entitätsobjekte in einer FTP-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
      }
    }
  }

Dynamische Konfiguration von filterClause

Für die List-, Update- und Löschvorgänge können Sie den Wert der filterClasue-Eingabevariablen zur Laufzeit dynamisch festlegen. Dazu verwenden Sie die Aufgabe Datenzuordnung in Ihrer Integration. Sie können beispielsweise den Wert der Filterklausel senden, wenn Sie den API-Trigger in Ihrer Integration aufrufen. Die folgende Abbildung zeigt eine Beispielzuordnung für die Variable filterClause im Datenzuordnungseditor der Datenzuordnungsaufgabe: Grafik: Filterklausel im Datenzuordnungseditor festlegen

Verbindungen mit Terraform erstellen

Mit dem Terraform-Code Ressource, um eine neue Verbindung zu erstellen.

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Eine Beispiel-Terraform-Vorlage für die Verbindungserstellung finden Sie unter Beispielvorlage.

Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:

Parametername Datentyp Erforderlich Beschreibung
file_retrieval_depth STRING Falsch Geben Sie die Tiefe der Ordner an, die aus der Stammtabelle abgefragt werden sollen.
passiv BOOLEAN Falsch Steuert, ob der Server in den passiven Modus geleitet wird. Empfohlen, wenn sich das Gerät hinter einer Firewall befindet.
remote_path STRING Falsch Der aktuelle Pfad auf dem FTP-Server.
table_depth INTEGER Falsch Die Tiefenebene für die Anzeige von Unterordnern als Ansichten.
use_mlsd BOOLEAN Falsch Verwendet Einträge für die maschinelle Verarbeitung. Wird nur für FTP-Server verwendet.

FTP-Verbindung in einer Integration verwenden

Nachdem Sie die Verbindung erstellt haben, ist sie in beiden Apigee-Integration und Anwendungsintegration Sie können die Verbindung über die Connectors-Aufgabe in einer Integration.

  • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in der Apigee-Integration finden Sie unter Connectors-Aufgabe.
  • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.

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