Rabbit MQ
Der RabbitMQ-Connector stellt eine Verbindung zu RabbitMQ her.
Hinweise
Führen Sie vor der Verwendung des RabbitMQ-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.
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:
- 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 Abschnitt Standort den Standort für die Verbindung aus.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Klicken Sie auf Weiter.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Connector: Wählen Sie RabbitMQ aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- 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.
- Bei Konnektoren, die Ereignisanmeldungen unterstützen, dürfen die Verbindungsnamen nicht mit dem Präfix „goog“ beginnen.
- Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
- Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Wenn Sie die Verbindung für Ereignisabos verwenden möchten, wählen Sie Ereignisabo aktivieren aus. Wenn Sie diese Option auswählen, wird das Ereignisabo mit Aktionen aktiviert.
- 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.
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.
- Name der Standardwarteschlange: Der Name der Standardwarteschlange kann beim Ausführen der Aktion überschrieben werden.
- Virtueller Host: Der virtuelle Host für RabbitMQ.
- Klicken Sie optional auf + Label hinzufügen, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Wenn Sie SSL verwenden möchten, wählen Sie SSL aktivieren aus. Daraufhin werden die Details zur SSL-Konfiguration angezeigt.
- Wählen Sie einen Typ für das Vertrauensspeicher aus. Es kann entweder Öffentlich, Privat oder Unsichere Verbindung sein.
- Wählen Sie die Zertifikate aus, die gemäß Ihrer Auswahl des Vertrauensspeichers angezeigt werden.
- Wenn Sie mTLS verwenden, wählen Sie die Schlüsselspeicherzertifikate im Abschnitt Schlüsselspeicher aus.
- Wählen Sie optional die TLS-Version aus.
- Geben Sie die unterstützte Verschlüsselungssuite ein. Geben Sie mehrere Chiffren-Suites als durch Kommas getrennte Werte ein. Weitere Informationen finden Sie unter Unterstützte Chiffren-Suites.
- Klicken Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
- Zieltyp: Wählen Sie einen Zieltyp aus.
- Wählen Sie in der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse des Ziels 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.
- Klicken Sie auf Weiter.
- Zieltyp: Wählen Sie einen Zieltyp aus.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
Die folgenden Authentifizierungstypen werden von der RabbitMQ-Verbindung unterstützt:
- Anonym
- Nutzername und Passwort
- Klicken Sie auf Weiter.
Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
- Konfigurieren Sie im Bereich Details zum Ereignisabo die ereignisbezogenen Details.
- Geben Sie die Konfiguration für den Postfach-Alias ein. Wenn Sie ein Dead-Letter-Thema konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse in das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
- Dead-Letter-Projekt-ID : Die Google Cloud-Projekt-ID, in der Sie das Dead-Letter-Pub/Sub-Thema konfiguriert haben.
- Dead-Letter-Thema : Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.
- Geben Sie die Konfiguration für den Postfach-Alias ein. Wenn Sie ein Dead-Letter-Thema konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse in das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
-
Anonym
Wenn Sie die anonyme Anmeldung verwenden möchten, wählen Sie Nicht verfügbar aus.
-
Nutzername und Passwort
- Nutzername: Der RabbitMQ-Nutzername für die Verbindung.
- Kennwort: Secret Manager-Secret mit dem Passwort, das dem RabbitMQ-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 einen Ausgabeparameter. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die
Actions
-Liste leer.
Systemeinschränkungen
Der RabbitMQ-Connector kann die folgende Anzahl von Transaktionen pro Sekunde und pro Knoten verarbeiten und drosselt alle Transaktionen, die dieses Limit überschreiten:
- Maximal 9 Transaktionen, wenn Sie hauptsächlich die Aktion
sendMessage
verwenden. - 1 Transaktion, wenn Sie hauptsächlich die Aktion
requestReply
verwenden.
Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.
Informationen zu den Limits für Integration Connectors finden Sie unter Limits.
Aktionen
Die RabbitMQ-Verbindung unterstützt die folgenden Aktionen:
- sendMessage: Sendet eine Nachricht an eine Warteschlange.
- requestReply: Sendet eine Nachricht an eine Warteschlange und gibt auch die Antwortwarteschlange an, in der der Beantworter die Antwort schreiben soll.
sendMessage-Aktion
In den folgenden Tabellen werden die Eingabe- und Ausgabeparameter der Aktion „sendMessage“ beschrieben.
Eingabeparameter der sendMessage-Aktion
Parametername | Erforderlich | Datentyp | Beschreibung |
---|---|---|---|
nachricht | Ja | String | Nachricht, die an die RabbitMQ-Warteschlange gesendet werden soll. Derzeit beträgt die maximale unterstützte Nachrichtengröße 10 MB. |
queueName | Nein | String | Name der RabbitMQ-Warteschlange. Wenn Sie keinen Warteschlangennamen angeben, wird der Standardwarteschlangenname verwendet, der beim Erstellen der Verbindung angegeben wurde. |
messageContentType | Ja | String | Nachrichteninhaltstyp, der entweder als Text oder Bytes angegeben werden kann. Sie müssen den Typ auf Bytes festlegen, wenn Sie Binärdaten senden.
Wenn Sie eine Nachricht in einem Binärformat senden möchten, müssen Sie die folgenden Schritte ausführen:
|
messageType | Ja | String | Nachrichtentyp, der entweder als Datagram oder Reply angegeben werden kann. |
topicName | Nein | String | Name des RabbitMQ-Themas. Wenn Sie keinen Themennamen angeben, wird der Standardwarteschlangenname verwendet, der beim Erstellen der Verbindung angegeben wurde. |
Ausgabeparameter der Aktion „sendMessage“
Parametername | Datentyp | Beschreibung |
---|---|---|
messageId | String | ID der gesendeten Nachricht. |
requestReply-Aktion
In den folgenden Tabellen werden die Eingabe- und Ausgabeparameter der requestReply-Aktion beschrieben.
Eingabeparameter der requestReply-Aktion
Parametername | Erforderlich | Datentyp | Beschreibung |
---|---|---|---|
nachricht | Ja | String | Nachricht, die an die RabbitMQ-Warteschlange gesendet werden soll. Derzeit beträgt die maximale unterstützte Nachrichtengröße 10 MB. |
queueName | Nein | String | Name der RabbitMQ-Warteschlange. Wenn Sie keinen Warteschlangennamen angeben, wird der Standardwarteschlangenname verwendet, der beim Erstellen der Verbindung angegeben wurde. |
messageContentType | Ja | String | Nachrichteninhaltstyp, der entweder als Text oder Bytes angegeben werden kann. Sie müssen den Typ auf Bytes festlegen, wenn Sie Binärdaten senden.
Wenn Sie eine Nachricht in einem Binärformat senden möchten, müssen Sie die folgenden Schritte ausführen:
|
replyToQueue | Ja | String | Warteschlange, in die der Antworter die Antwort schreiben soll. |
replyTimeout | Ja | String | Zeit (in Millisekunden), die der Connector auf die Antwort in der Antwortwarteschlange wartet.
Der maximal unterstützte Wert beträgt 180.000 Millisekunden (3 Minuten).
Wenn die Antwortwarteschlange nach Ablauf des Zeitlimits eine Nachricht empfängt, wird diese Nachricht vom Connector nicht verarbeitet. Sie können jedoch die Zeitüberschreitungsnachrichtdetails in den Ausführungslogs Ihrer Integration aufrufen. |
Ausgabeparameter der requestReply-Aktion
Parametername | Datentyp | Beschreibung |
---|---|---|
replyMessage | String | Antwortnachricht des Antwortenden. |
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.
Eine Beispiel-Terraform-Vorlage zum Erstellen einer Verbindung 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 |
---|---|---|---|
default_queue_name | STRING | Falsch | Der Name der Standardwarteschlange kann beim Ausführen der Aktion überschrieben werden. |
default_topic_name | STRING | Falsch | Der Name des Standard-Themas kann beim Ausführen der Aktion überschrieben werden. |
virtual_host | STRING | Wahr | Der virtuelle Host für RabbitMQ. |
RabbitMQ-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 über die Connectors-Aufgabe in einer Integration 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.