Cloud SQL for MySQL

Mit dem MySQL-Connector können Sie Zeilen in einer MySQL-Datenbank einfügen, lesen, aktualisieren und löschen.

Unterstützte Versionen

MySQL-Versionen 5.0 bis 8.0

Hinweise

Führen Sie vor der Verwendung des Cloud SQL for MySQL-Connectors die folgenden Aufgaben aus:

  • In Ihrem Google Cloud-Projekt:
    • Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern finden Sie unter Netzwerkkonnektivität.
    • 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
      • roles/cloudsql.editor

      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.

  • Den Dienst sqladmin.googleapis.com (Cloud SQL Admin API) aktivieren.

Connector konfigurieren

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. Tippen Sie auf Weiter.
  4. Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
    1. Connector: Wählen Sie Cloud SQL for MySQL 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. Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. 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 Verbindungsknoteneinstellungen:

      • 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. Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich die CloudSQL-Instanz befindet.
    9. Datenbankregion:: Der Name der Region, in der sich die CloudSQL-Instanz befindet.
    10. Instanz-ID: Die ID der CloudSQL-Instanz, zu der eine Verbindung hergestellt werden soll.
    11. Datenbankname: Der Name der Mysql-Datenbank, zu der eine Verbindung hergestellt werden soll.
    12. Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    13. Tippen 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. Zieltyp: Wählen Sie einen Zieltyp aus.
      • 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.

      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. Tippen 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 Cloud SQL for MySQL-Verbindung unterstützt:

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

    3. Tippen Sie auf 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 Mysql-Nutzername für die Verbindung.
    • Kennwort: Secret Manager-Secret mit dem Passwort, das dem Mysql-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 keine der Entitätsvorgänge unterstützt, werden diese nicht unterstützten Vorgänge nicht in der Operations-Liste 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 einen Ausgabeparameter. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die Actions-Liste leer.

Systembeschränkungen

Der Cloud SQL for MySQL-Connector kann 10 Transaktionen pro Sekunde und Knoten verarbeiten. Alle Transaktionen, die dieses Limit überschreiten, werden gedrosselt. 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.

Unterstützte Datentypen

Die folgenden Datentypen werden für diesen Connector unterstützt:

  • BIGINT
  • BINARY
  • BIT
  • BOOLEAN
  • CHAR
  • DATE
  • DECIMAL
  • DOUBLE
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • UHRZEIT
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

Aktionen

Dieser Connector unterstützt die Ausführung der folgenden Aktionen:

  • Benutzerdefinierte gespeicherte Prozeduren und Funktionen: Wenn Sie gespeicherte Prozeduren und Funktionen in Ihrem Backend haben, werden diese im Dialogfeld Configure connector task in der Spalte Actions aufgeführt.
  • Benutzerdefinierte SQL-Abfragen: Zum Ausführen benutzerdefinierter SQL-Abfragen bietet der Connector die Aktion Benutzerdefinierte Abfrage ausführen.

    So erstellen Sie eine benutzerdefinierte Abfrage:

    1. Folgen Sie der detaillierten Anleitung zum Hinzufügen einer Connectors-Aufgabe.
    2. Wenn Sie die Connector-Aufgabe konfigurieren, wählen Sie unter „Art der auszuführenden Aktion“ die Option Aktionen aus.
    3. Wählen Sie in der Liste Aktion die Option Benutzerdefinierte Abfrage ausführen aus und klicken Sie dann auf Fertig.

      Abbildung mit der Aktion „execute-custom-query“ Abbildung mit der Aktion „execute-custom-query“

    4. Maximieren Sie den Abschnitt Aufgabeneingabe und gehen Sie dann so vor:
      1. Geben Sie im Feld Zeitlimit nach die Anzahl der Sekunden ein, die gewartet werden soll, bis die Abfrage ausgeführt wird.

        Standardwert: 180 Sekunden.

      2. Geben Sie im Feld Maximale Zeilenanzahl die maximale Anzahl der Zeilen ein, die aus der Datenbank zurückgegeben werden sollen.

        Standardwert: 25.

      3. Wenn Sie die benutzerdefinierte Abfrage aktualisieren möchten, klicken Sie auf Benutzerdefiniertes Skript bearbeiten. Das Dialogfeld Skripteditor wird geöffnet.

        Bild mit benutzerdefinierter SQL-Abfrage Bild mit benutzerdefinierter SQL-Abfrage

      4. Geben Sie im Dialogfeld Skripteditor die SQL-Abfrage ein und klicken Sie auf Speichern.

        Sie können ein Fragezeichen (?) in einer SQL-Anweisung verwenden, um einen einzelnen Parameter darzustellen, der in der Liste der Abfrageparameter angegeben werden muss. Mit der folgenden SQL-Abfrage werden beispielsweise alle Zeilen aus der Tabelle Employees ausgewählt, die den für die Spalte LastName angegebenen Werten entsprechen:

        SELECT * FROM Employees where LastName=?

      5. Wenn Sie Fragezeichen in Ihrer SQL-Abfrage verwendet haben, müssen Sie den Parameter hinzufügen, indem Sie für jedes Fragezeichen auf + Parameternamen hinzufügen klicken. Bei der Ausführung der Integration werden diese Parameter sequenziell durch die Fragezeichen (?) in der SQL-Abfrage ersetzt. Wenn Sie beispielsweise drei Fragezeichen (?) hinzugefügt haben, müssen Sie drei Parameter in der richtigen Reihenfolge hinzufügen.

        Abbildung mit „add-query-param“ Abbildung mit „add-query-param“

        So fügen Sie Abfrageparameter hinzu:

        1. Wählen Sie in der Liste Typ den Datentyp des Parameters aus.
        2. Geben Sie im Feld Wert den Wert des Parameters ein.
        3. Wenn Sie mehrere Parameter hinzufügen möchten, klicken Sie auf + Abfrageparameter hinzufügen.

Beispiele für Aktionen

Beispiel: Größeren Wert ermitteln

In diesem Beispiel wird gezeigt, wie eine benutzerdefinierte Funktion ausgeführt wird. Die Funktion find_greater in diesem Beispiel vergleicht zwei Ganzzahlen und gibt die größere Ganzzahl zurück.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion find_greater 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:
    {
    "$1": 1.0,
    "$2": 5.0
    }
  4. Wenn die Ausführung der Aktion erfolgreich ist, hat das Feld connectorOutputPayload der Connector-Aufgabe einen Wert, der in etwa so aussieht:

    [{
    "bignum": 5.0
    }]

Beispiele für Entitätsvorgänge

Beispiel – Einträge einer Entität auflisten

In diesem Beispiel werden die Datensätze der Entität Users aufgelistet.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie Users aus der Liste Entity aus.
  3. Wählen Sie den Vorgang List aus und klicken Sie auf Fertig.
  4. Im Bereich Aufgabeneingabe der Aufgabe Connectors können Sie die filterClause nach Bedarf festlegen.

    Wenn Sie die Filterklausel beispielsweise auf employeeCode='5100' and startDate='2010-01-01 00:00:00' setzen, werden nur die Datensätze aufgelistet, deren employeeCode 5100 und startDate 2010-01-01 00:00:00 ist.

Beispiel: Einzelnen Datensatz aus einer Entität abrufen

In diesem Beispiel wird ein Datensatz aus der Users-Entität abgerufen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie User aus der Liste Entity aus.
  3. Wählen Sie den Vorgang Get aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann 103032 in das Feld Standardwert ein.

    Dabei ist 103032 der Primärschlüsselwert der Entität Users.

Beispiel: Datensatz aus einer Entität löschen

In diesem Beispiel wird ein Datensatz aus der Entität Users gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie Users aus der Liste Entity aus.
  3. Wählen Sie den Vorgang Delete aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann 113132 in das Feld Standardwert ein.

    Wenn die Entität zusammengesetzte Primärschlüssel hat, können Sie anstelle der entityId auch die filterClause festlegen. Beispiel: employeeCode='5100' and startDate='2010-01-01 00:00:00'

Beispiel: Datensatz in einer Entität erstellen

In diesem Beispiel wird ein Datensatz in der Entität Users erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie Users aus der Liste Entity aus.
  3. Wählen Sie den Vorgang Create aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in Feld Default Value ein:
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
  5. Wenn die Integration erfolgreich ist, enthält das Feld connectorOutputPayload der Connector-Aufgabe die Antwort des Erstellungsvorgangs.

Beispiel: Datensatz in einer Entität aktualisieren

In diesem Beispiel wird ein Datensatz in der Entität Users aktualisiert.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie Users aus der Liste Entity aus.
  3. Wählen Sie den Vorgang Update aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in Feld Default Value ein:
    {
    "country": "IN"
    }
  5. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann 113132 in das Feld Standardwert ein.

    Wenn die Entität zusammengesetzte Primärschlüssel hat, können Sie anstelle der entityId auch die filterClause festlegen. Beispiel: employeeCode='5100' and startDate='2010-01-01 00:00:00'

  6. Wenn die Integration erfolgreich ist, enthält das Feld connectorOutputPayload der Connector-Aufgabe die Antwort des Aktualisierungsvorgangs.

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
project_id STRING Wahr Projekt-ID des Projekts, das die Cloud SQL-Instanz enthält, z. B. „meinprojekt“.
database_region STRING Wahr Die Cloud-Region für die Instanz, z. B. „us-central1“.
instance_id STRING Wahr ID der Datenbankinstanz. Die Projekt-ID ist darin nicht enthalten, z. B. „myinstance“.
database_name STRING Wahr Name der Datenbank in der Instanz, z. B. „mydatabase“.

Cloud SQL for MySQL-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.

Sehen Sie sich auch die Anleitung CRUD-Vorgänge in einer MySQL-Datenbank ausführen an. Dort wird beschrieben, wie Sie eine MySQL-Verbindung erstellen und in einer Integration verwenden, um Lese- und Schreibvorgänge auszuführen.

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