Couchbase

Mit dem Couchbase-Connector können Sie eine Verbindung zu einer Couchbase-Datenbankinstanz herstellen und die unterstützten Datenbankvorgänge ausführen.

Unterstützte Versionen

  • Couchbase Server-Versionen 4.0 und höher (Enterprise Edition oder Community Edition).

  • Couchbase Capella

Hinweise

Führen Sie vor der Verwendung des Couchbase-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

      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.

  • Erstellen Sie bei Bedarf einen Couchbase-Server. Weitere Informationen finden Sie unter Kurzanleitung: Couchbase Server.
  • Informationen zu Couchbase-APIs finden Sie in der Couchbase REST API-Dokumentation.
  • Laden Sie bei Bedarf das SSL-Zertifikat herunter. Weitere Informationen finden Sie unter Sichere Verbindung mit TLS.

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 Couchbase 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. JSON-Parameter zulassen: Ermöglicht die Verwendung von JSON-Rohdaten in Parametern, wenn QueryPassthrough aktiviert ist.
    9. Analytics-Port: Der Port zum Herstellen einer Verbindung zum Couchbase Analytics-Endpunkt.
    10. Untergeordnetes Trennzeichen: Die Zeichen, die zum Angeben untergeordneter Tabellen verwendet werden.
    11. Cuchbase-Dienst: Bestimmt den Couchbase-Dienst, zu dem eine Verbindung hergestellt werden soll. Der Standardwert ist N1QL. Verfügbare Optionen sind N1QL und Analytics.
    12. RAM-Kontingent für Tabelle erstellen: Das standardmäßige RAM-Kontingent in Megabyte, das beim Einfügen von Buckets über die Syntax CREATE TABLE verwendet werden soll.
    13. Dataverse-Trennzeichen: Die Zeichen, die zur Bezeichnung von Analytics-Dataverses und Bereiche/Sammlungen verwendet werden.
    14. Flavor-Trennzeichen: Die Zeichen, die zum Kennzeichnen von Flavors verwendet werden.
    15. N1QL-Port: Der Port für die Verbindung zum Couchbase-N1QL-Endpunkt.
    16. Trennzeichen für Punkte: Die Zeichen, die zum Angeben der Hierarchie verwendet werden.
    17. Zeitlimit für Abfrageausführung: Setzt das serverseitige Zeitlimit für die Abfrage, das festlegt, wie lange Couchbase die Abfrage ausführt, bevor ein Zeitüberschreitungsfehler zurückgegeben wird.
    18. Strikter Vergleich: Passt an, wie genau Filter bei SQL-Eingabeabfragen in Couchbase-Abfragen übersetzt werden sollen. Dies kann auf eine durch Kommas getrennte Liste von Werten festgelegt werden, wobei jeder Wert einen der folgenden Werte haben kann: Datum, Zahl, boolescher Wert oder String.
    19. Langlebigkeit von Transaktionen: Gibt an, wie ein Dokument gespeichert werden muss, damit eine Transaktion erfolgreich ist. Gibt an, ob N1QL-Transaktionen beim Ausführen von Abfragen verwendet werden sollen.
    20. Transaktionszeitlimit: Setzt den Zeitraum, den eine Transaktion ausführen kann, bevor eine Zeitüberschreitung durch Couchbase erfolgt.
    21. Sammlungen für DDL verwenden: Gibt an, ob CREATE TABLE-Anweisungen Sammlungen anstelle von Flavors verwenden. Wird nur wirksam, wenn eine Verbindung zu Couchbase v7+ hergestellt wird und GenerateSchemaFiles auf OnCreate gesetzt ist.
    22. Transaktionen verwenden: Gibt an, ob beim Ausführen von Abfragen N1QL-Transaktionen verwendet werden sollen.
    23. JSON-Parameter validieren: Der Anbieter kann überprüfen, ob Stringparameter gültige JSON-Parameter sind, bevor die Abfrage an Couchbase gesendet wird.
    24. Optional: Wählen Sie im Abschnitt Erweiterte Einstellungen das Kästchen Proxy verwenden aus, um einen Proxyserver für die Verbindung zu konfigurieren, und konfigurieren Sie die folgenden Werte:
      • Proxy-Authentifizierungsschema: Wählen Sie den Authentifizierungstyp für die Authentifizierung beim Proxyserver aus. Die folgenden Authentifizierungstypen werden unterstützt:
        • Standard: Basis-HTTP-Authentifizierung.
        • Digest: Digest-HTTP-Authentifizierung.
      • Proxy-Nutzer: Ein Nutzername, der für die Authentifizierung beim Proxyserver verwendet werden soll.
      • Proxy-Passwort: Das Secret Manager-Secret des Nutzerpassworts.
      • Proxy-SSL-Typ: Der SSL-Typ, der beim Herstellen einer Verbindung zum Proxyserver verwendet werden soll. Die folgenden Authentifizierungstypen werden unterstützt:
        • Automatisch: Standardeinstellung. Wenn die URL eine HTTPS-URL ist, wird die Tunnel-Option verwendet. Wenn die URL eine HTTP-URL ist, wird die Option „NIE“ verwendet.
        • Immer: Die Verbindung ist immer SSL-aktiviert.
        • Nie: Die Verbindung ist nicht SSL-fähig.
        • Tunnel: Die Verbindung erfolgt über einen Tunneling-Proxy. Der Proxyserver öffnet eine Verbindung zum Remote-Host und der Traffic wird über den Proxy hin- und hergeleitet.
      • Geben Sie im Abschnitt Proxyserver die Details des Proxyservers ein.
        1. Klicken Sie auf + Ziel hinzufügen.
        2. Wählen Sie einen Zieltyp aus.
          • Hostadresse: Geben Sie den Hostnamen oder die IP-Adresse des Ziels an.

            Wenn Sie eine private Verbindung zu Ihrem Backend-System herstellen möchten, gehen Sie so vor:

            • Erstellen Sie einen PSC-Dienstanhang.
            • Erstellen Sie einen Endpunktanhang und geben Sie dann die Details des Endpunktanhangs in das Feld Hostadresse ein.
    25. Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    26. 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 Couchbase-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: Nutzername für den Connector
    • Passwort: Secret Manager-Secret mit dem Passwort, das mit dem Connector verknüpft ist.
    • UseSSL: Dieses Feld legt fest, ob SSL aktiviert ist.
    • SSLServerCert: SSLServerCert für Couchbase-Connector
    • Auth-Schema: Auth-Schema für Couchbase-Connector
    • Verbindungsmodus: Bestimmt, wie eine Verbindung zum Couchbase-Server hergestellt wird. Muss entweder Direct oder Cloud sein. Für Cloud ist SSL erforderlich. Weitere Informationen finden Sie unter Verbindungen mit TLS sichern.
    • DNS-Server: Bestimmt, welcher DNS-Server beim Abrufen von Couchbase-Cloud-Informationen verwendet werden soll. Beispiel: 8.8.8.8.

Beispiele für Verbindungskonfigurationen

In diesem Abschnitt werden die Beispielwerte für die verschiedenen Felder aufgeführt, die Sie beim Erstellen des Couchbase-Connectors konfigurieren.

SSL – Zertifikatsverbindungstyp

Feldname Details
Region us-central1
Connector Couchbase
Connector-Version 1
Connector-Name Couchbase-basic-auth-conn
Dienstkonto NAME-compute@developer.gserviceaccount.com
Ausführlichkeitsgrad 5
Einstellungen für Verbindungsknoten: Mindest-/Höchstanzahl von Knoten 2/50
SSL-Konfiguration – SSL aktivieren Wahr
Trust Store Privat
Benutzerdefinierter Trust Store Ein vollständiges PEM-Zertifikat (-----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----)
Secret-Version 1
Hostadresse xx.1HOST_NAME.cloud.couchbase.com:18xxx
Authentifizierung Nutzerpasswort
Nutzername Nutzername
Passwort Passwort
Versionen 1
vVerbindungsmodus Cloud
DNS-Server 192.0.2.0
OAuth-Schema Einfach

Analytics-Couchbase-Verbindungstyp

Feldname Details
Region us-central1
Connector Couchbase
Connector-Version 1
Connector-Name Couchbase-basic-auth-Analytics-conn
Dienstkonto NAME-compute@developer.gserviceaccount.com
Analytics-Port 18095
Couchbase-Dienst Analytics
Ausführlichkeitsgrad 5
Einstellungen für Verbindungsknoten: Mindest-/Höchstanzahl von Knoten 2/50
Hostadresse xx.1HOST_NAME.cloud.couchbase.com:18095
Authentifizierung Nutzerpasswort
Nutzername Nutzername
Passwort Passwort
Versionen 1
vVerbindungsmodus Cloud
DNS-Server 192.0.2.0
OAuth-Schema Einfach

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.

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.

Systembeschränkungen

Der Couchbase-Connector kann 25 Transaktionen 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.

Aktionen

In diesem Abschnitt werden die vom Connector unterstützten Aktionen aufgeführt. Informationen zum Konfigurieren der Aktionen finden Sie unter Beispiele für Aktionen.

AddDocument-Aktion

Durch diese Aktion werden Dokumente in Couchbase hinzugefügt.

Eingabeparameter der AddDocument-Aktion

Parametername Datentyp Erforderlich Beschreibung
Bucket-Name String Ja Der Bucket, in den das Dokument eingefügt werden soll.
SourceTable Objekt Nein Der Name der temporären Tabelle mit den Spalten „ID“ und „Document“. Erforderlich, wenn keine ID angegeben ist.
ID String Nein Der Primärschlüssel, unter dem das Dokument eingefügt werden soll. Erforderlich, wenn keine SourceTable angegeben ist.
Dokument String Nein Der JSON-Text des einzufügenden Dokuments. Erforderlich, wenn keine SourceTable angegeben ist.

Ausgabeparameter der AddDocument-Aktion

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der AddDocument-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „CreateCollection“

Mit dieser Aktion wird eine Sammlung in einem vorhandenen Bereich erstellt.

Eingabeparameter der Aktion „CreateCollection“

Parametername Datentyp Erforderlich Beschreibung
Bucket String Ja Der Name des Buckets, der die Sammlung enthält.
Umfang String Ja Der Name des Bereichs, der die Sammlung enthält.
Name String Ja Der Name der zu erstellenden Sammlung.

Ausgabeparameter der Aktion „CreateCollection“

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der CreateCollection-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „DeleteCollection“

Mit dieser Aktion wird eine Sammlung in einem vorhandenen Bereich gelöscht.

Eingabeparameter der Aktion „DeleteCollection“

Parametername Datentyp Erforderlich Beschreibung
Bucket String Wahr Der Name des Buckets, der die Sammlung enthält.
Umfang String Wahr Der Name des Bereichs, der die Sammlung enthält.
Name String Wahr Der Name der zu löschenden Sammlung.

Ausgabeparameter der Aktion „DeleteCollection“

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der DeleteCollection-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „CreateScope“

Mit dieser Aktion wird ein Bereich in einem vorhandenen Bucket erstellt.

Eingabeparameter der Aktion „CreateScope“

Parametername Datentyp Erforderlich Beschreibung
Bucket String Ja Der Name des Buckets, das den Bereich enthält
Name String Ja Der Name des zu erstellenden Bereichs.

Ausgabeparameter der Aktion „CreateScope“

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der CreateScope-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „DeleteScope“

Durch diese Aktion wird ein Bereich mit allen zugehörigen Sammlungen gelöscht.

Eingabeparameter der Aktion „DeleteScope“

Parametername Datentyp Erforderlich Beschreibung
Bucket String Ja Der Name des Buckets, das den Bereich enthält.
Name String Ja Der Name des zu löschenden Bereichs.

Ausgabeparameter der Aktion „DeleteScope“

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der DeleteScope-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „ListIndices“

Mit dieser Aktion werden alle in Couchbase verfügbaren Indexe aufgeführt.

Eingabeparameter der ListIndices-Aktion

Ausgabeparameter der Aktion „ListIndices“

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der ListIndices-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „ManageIndices“

Mit dieser Aktion wird ein Index in einem Bucket erstellt oder gelöscht.

Eingabeparameter der ManageIndices-Aktion

Parametername Datentyp Erforderlich Beschreibung
Bucket-Name String Ja Der Ziel-Bucket, in dem der Index erstellt oder aus dem er gelöscht werden soll.
ScopeName Objekt Nein Der Zielbereich, in dem der Index erstellt oder gelöscht werden soll (Couchbase-Version 7 und höher)
CollectionName String Nein Die Zielsammlung, in der der Index erstellt oder aus der er gelöscht werden soll (Couchbase-Version 7 und höher)
Aktion String Ja Gibt an, welche Aktion für den Index ausgeführt werden soll. Mögliche Werte sind „Create“ (Erstellen) oder „Drop“ (Löschen).
Ausdrücke String Nein Eine Liste von als JSON codierten Ausdrücken oder Funktionen, auf denen der Index basiert. Mindestens eine ist erforderlich, wenn „IsPrimary“ auf „false“ gesetzt ist und die Aktion „Create“ lautet.
Name String Nein Der Name des Index, der erstellt oder gelöscht werden soll. Erforderlich, wenn „IsPrimary“ auf „false“ gesetzt ist.
IsPrimary String Nein Gibt an, ob der Index ein primärer Index sein soll.Der Standardwert ist „true“.
Filter String Nein Eine Liste von Filtern, die als JSON codiert sind und auf den Index angewendet werden sollen.
IndexType String Nein Der Typ des zu erstellenden Index. Kann GSI oder View sein. Wird nur verwendet, wenn die Aktion „Create“ ist. Der Standardwert ist GSI.
ViewName String Nein Veraltet, nur aus Kompatibilitätsgründen enthalten. Keine Auswirkung
Knoten String Nein Eine als JSON codierte Liste von Knoten, die den Index enthalten sollen. Muss den Port enthalten. Wird nur verwendet, wenn die Aktion „Create“ ist.
NumReplica String Nein Gibt an, wie viele Replikate unter den Indexknoten im Cluster erstellt werden sollen.

Ausgabeparameter der ManageIndices-Aktion

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.

Beispiele für die Konfiguration der ManageIndices-Aktion finden Sie unter Beispiele für Aktionen.

Aktion „ExecuteCustomQuery“

Mit dieser Aktion können Sie eine 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.

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) mit einem Antworttext zurück, der die Abfrageergebnisse enthält.

Beispiele für Aktionen

In diesem Abschnitt wird beschrieben, wie Sie einige der Aktionen in diesem Connector ausführen.

Beispiel: Dokument hinzufügen

In diesem Beispiel wird ein Dokument in einem Couchbase-Bucket hinzugefügt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion AddDocument 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:
    {
    "Document": "{\"ID\":10,\"Name\":\"TestDoc\"}",
    "BucketName": "CouchbaseTestBucket",
    "ID": "Test"
    }
  4. Wenn die Aktion erfolgreich ist, hat der connectorOutputPayload-Antwortparameter der AddDocument-Aufgabe einen Wert, der dem folgenden ähnelt:

    [{
    "RowsAffected": "1"
    }]

Beispiel: Sammlung erstellen

In diesem Beispiel wird eine Sammlung erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion CreateCollection 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:
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. In diesem Beispiel wird eine Sammlung unter TestScope erstellt. Wenn die Aktion erfolgreich ist, hat der connectorOutputPayload-Antwortparameter der CreateCollection-Aufgabe einen Wert, der dem folgenden ähnelt:

    [{
    "Success": true,
    "scope": null,
    "uid": null,
    "collection": null,
    "collections.uid": null,
    "maxTTL": null,
    "history": null
    }]

Beispiel: Sammlung löschen

In diesem Beispiel wird eine Sammlung gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion DeleteCollection 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:
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. In diesem Beispiel wird eine Sammlung unter TestScope gelöscht. Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload des CreateCollection-Vorgangs einen Wert, der dem folgenden ähnelt:

    [{
    "Success": true,
    "uid": "12"
    }]

Beispiel: Bereich erstellen

In diesem Beispiel wird ein Bereich erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion CreateScope 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:
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. In diesem Beispiel wird ein Bereich unter CouchbaseTestBucket erstellt. Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload des CreateScope-Vorgangs einen Wert, der dem folgenden ähnelt:

    [{
    "Success": true,
    "name": null,
    "uid": null,
    "collections": null,
    "collections.name": null,
    "collections.uid": null,
    "collections.maxTTL": null,
    "collections.history": null
    }]

Beispiel: Bereich löschen

In diesem Beispiel wird ein Bereich gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion DeleteScope 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:
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. In diesem Beispiel wird der Bereich ScopeFromGoogleCloud gelöscht. Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload des DeleteScope-Vorgangs einen Wert, der dem folgenden ähnelt:

    [{
    "Success": true,
    "uid": "10"
    }]

Beispiel: Indexe auflisten

In diesem Beispiel werden alle in Couchbase verfügbaren Indexe aufgeführt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion ListIndices 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:
    {
    }
  4. Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload des ListIndices-Vorgangs einen Wert ähnlich dem folgenden:

    [{
    "id": "3d8a78cd2e302ac2",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": null,
    "scope_id": null,
    "keyspace_id": "CouchbaseTestBucket",
    "index_key": "",
    "condition": null,
    "is_primary": "false",
    "name": "test",
    "state": "online",
    "using": "gsi"
    }, {
    "id": "d6ce8c103b97a00d",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": "CouchbaseTestBucket",
    "scope_id": "TestScope",
    "keyspace_id": "CouchBaseDatatypes",
    "index_key": "",
    "condition": null,
    "is_primary": "true",
    "name": "#primary",
    "state": "online",
    "using": "gsi"
    },
    {
    "id": "58c25aef49dd32b3",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": "CouchbaseTestBucket",
    "scope_id": "TestScope",
    "keyspace_id": "TestCollection",
    "index_key": "",
    "condition": null,
    "is_primary": "false",
    "name": "SearchIndexTest_1",
    "state": "online",
    "using": "fts"
    }]

Beispiel – Indexe verwalten

In diesem Beispiel wird ein Index im angegebenen Bucket gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion ManageIndices 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:
    {
    "BucketName": "CouchbaseTestBucket",
    "Action": "DROP",
    "Name": "CouchBaseTestIndex"
    }
  4. Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload des ManageIndices-Vorgangs einen Wert, der dem folgenden ähnelt:

    [{
    "Success": "true"
    }]

Beispiele für Entitätsvorgänge

In diesem Abschnitt wird beschrieben, wie Sie einige Entitätsvorgänge in diesem Connector ausführen.

Beispiel: Alle Datensätze auflisten

In diesem Beispiel werden alle Datensätze in der Entität TestCollection aufgelistet.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie TestCollection aus der Liste Entity aus.
  3. Wählen Sie den Vorgang List aus und klicken Sie auf Fertig.
  4. Optional können Sie im Bereich Aufgabeneingabe der Aufgabe Connectors das Ergebnisset filtern, indem Sie eine Filterklausel angeben. Geben Sie den Wert der Filterklausel immer in einfachen Anführungszeichen (') an.

Beispiel: Datensatz aus einer Entität abrufen

In diesem Beispiel wird ein Datensatz mit der angegebenen ID aus der TestCollection-Entität abgerufen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie TestCollection 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 120 in das Feld Standardwert ein.

    Dabei ist 120 eine eindeutige Datensatz-ID in der TestCollection-Entität.

Beispiel: Datensatz in einer Entität aktualisieren

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

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie TestCollection 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:
    {
    "COL_TEXT": "CouchBase Update"
    }
  5. Klicken Sie auf entityId und geben Sie dann 120 in das Feld Standardwert ein.

    Wenn die Integration erfolgreich ist, hat das Feld connectorOutputPayload der Connector-Aufgabe einen Wert, der dem folgenden ähnelt:

    [{
    "Document.Id": "120"
    }]

Beispiel: Datensatz aus einer Entität löschen

In diesem Beispiel wird der Datensatz mit der angegebenen ID in der Entität TestCollection gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie TestCollection 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 20 in das Feld Standardwert ein.

Bekannte Probleme

Der Vorgang create für Entitäten wird nicht unterstützt.

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
allow_jsonparameters BOOLEAN Falsch Ermöglicht die Verwendung von JSON-Rohdaten in Parametern, wenn QueryPassthrough aktiviert ist.
analytics_port STRING Falsch Der Port für die Verbindung zum Couchbase Analytics-Endpunkt.
child_separator STRING Falsch Das oder die Zeichen, die zum Angeben untergeordneter Tabellen verwendet werden.
couchbase_service ENUM Falsch Bestimmt den Couchbase-Dienst, zu dem eine Verbindung hergestellt werden soll. Der Standardwert ist N1QL. Verfügbare Optionen sind N1QL und Analytics. Unterstützte Werte: N1QL, Analytics
create_table_ram_quota STRING Falsch Das standardmäßige RAM-Kontingent in Megabyte, das beim Einfügen von Buckets über die Syntax CREATE TABLE verwendet werden soll.
dataverse_separator STRING Falsch Das oder die Zeichen, die zur Bezeichnung von Analytics-Dataverses und Bereichen/Sammlungen verwendet werden.
flavor_separator STRING Falsch Das oder die Zeichen, die zum Kennzeichnen von Flavors verwendet werden.
n1_qlport STRING Falsch Der Port für die Verbindung zum Couchbase-N1QL-Endpunkt.
periods_separator STRING Falsch Das oder die Zeichen, die zum Angeben der Hierarchie verwendet werden.
query_execution_timeout STRING Falsch Damit wird das serverseitige Zeitlimit für die Abfrage festgelegt, das bestimmt, wie lange Couchbase die Abfrage ausführt, bevor ein Zeitüberschreitungsfehler zurückgegeben wird.
strict_comparison STRING Falsch Passt an, wie genau Filter bei SQL-Eingabeabfragen in Couchbase-Abfragen übersetzt werden sollen. Dies kann auf eine durch Kommas getrennte Liste von Werten festgelegt werden, wobei jeder Wert einen der folgenden Werte haben kann: Datum, Zahl, boolescher Wert oder String.
transaction_durability STRING Falsch Gibt an, wie ein Dokument gespeichert werden muss, damit eine Transaktion erfolgreich ist. Gibt an, ob N1QL-Transaktionen beim Ausführen von Abfragen verwendet werden sollen.
transaction_timeout STRING Falsch Legt den Zeitraum fest, den eine Transaktion ausführen kann, bevor eine Zeitüberschreitung durch Couchbase erfolgt.
use_collections_for_ddl BOOLEAN Falsch Gibt an, ob CREATE TABLE-Anweisungen Sammlungen anstelle von Flavors verwenden. Wird nur wirksam, wenn eine Verbindung zu Couchbase v7+ hergestellt wird und GenerateSchemaFiles auf OnCreate gesetzt ist.
use_transactions STRING Falsch Gibt an, ob N1QL-Transaktionen beim Ausführen von Abfragen verwendet werden sollen.
validate_jsonparameters BOOLEAN Falsch Der Anbieter kann überprüfen, ob Stringparameter gültige JSON-Parameter sind, bevor die Abfrage an Couchbase gesendet wird.
proxy_enabled BOOLEAN Falsch Aktivieren Sie dieses Kästchen, um einen Proxyserver für die Verbindung zu konfigurieren.
proxy_auth_scheme ENUM Falsch Der Authentifizierungstyp, der für die Authentifizierung beim ProxyServer-Proxy verwendet werden soll. Unterstützte Werte: BASIC, DIGEST, NONE
proxy_user STRING Falsch Ein Nutzername, der für die Authentifizierung beim ProxyServer-Proxy verwendet werden soll.
proxy_password SECRET Falsch Ein Passwort, das zur Authentifizierung beim ProxyServer-Proxy verwendet werden soll.
proxy_ssltype ENUM Falsch Der SSL-Typ, der beim Herstellen einer Verbindung zum ProxyServer-Proxy verwendet werden soll. Unterstützte Werte: AUTO, ALWAYS, NEVER, TUNNEL
Ausführlichkeit STRING Falsch Ausführlichkeitsgrad für die Verbindung, variiert von 1 bis 5. Bei einem höheren Ausführlichkeitsgrad werden alle Kommunikationsdetails (Anfrage,Antwort und SSL-Zertifikate) protokolliert.

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

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