Mit einem Eventarc Advanced-Bus können Sie den Nachrichtenfluss durch Ihr System zentralisieren, überwachen und nachverfolgen. Er fungiert als Router. Er empfängt Ereignisse aus einer Nachrichtenquelle oder von einem Anbieter veröffentlichte Ereignisse und wertet sie gemäß einer Registrierung aus. Eine Registrierung weist ein Abo einem bestimmten Bus zu und definiert die Abgleichkriterien für Nachrichten, sodass sie entsprechend weitergeleitet werden. Weitere Informationen finden Sie unter Registrierung erstellen, um Ereignisse zu empfangen.
Ein Bus kann von Ereignisanbietern und Zielen in Ihrem Projekt oder in anderen Projekten verwendet werden. Weitere Informationen finden Sie unter Projektlayouts.
Erforderliche Rollen
Eine IAM-Rolle (Identity and Access Management) enthält eine Reihe von Berechtigungen, mit denen Sie bestimmte Aktionen für Google Cloud Ressourcen ausführen können. Die folgenden Rollen und Berechtigungen sind erforderlich, wenn Sie einen Bus zum Weiterleiten von Nachrichten erstellen:
- Bitten Sie Ihren Administrator, Ihnen die Eventarc-Administrator (
roles/eventarc.admin) oder die Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin) IAM-Rolle für Ihr Busprojekt zuzuweisen, um die Berechtigung zum Erstellen eines Busses zu erhalten. Diese vordefinierten Rollen enthalten die Berechtigungeventarc.messageBuses.create, die zum Erstellen eines Busses erforderlich ist. - Bitten Sie Ihren Administrator, Ihnen die Eventarc Message Bus User (
roles/eventarc.messageBusUser) IAM-Rolle für Ihr Busprojekt zuzuweisen, um die Berechtigung zum Verwenden eines Busses zu erhalten. Diese vordefinierte Rolle enthält die Berechtigungeventarc.buses.use, die zum Verwenden eines Busses erforderlich ist. - Zum Erstellen einer Pipeline und einer Registrierung sind zusätzliche Berechtigungen erforderlich. Weitere Informationen finden Sie unter den erforderlichen Rollen beim Erstellen einer Registrierung.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten. Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Bus erstellen
Sie haben folgende Möglichkeiten, einen Bus zu erstellen:
- In der Google Cloud Console
- Mit der Google Cloud CLI in Ihrem Terminal oder in Cloud Shell
- Durch Senden einer Anfrage an die Eventarc API
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Klicken Sie auf Bus erstellen.
Führen Sie auf der Seite Bus erstellen folgende Schritte aus:
- Geben Sie einen Busnamen ein. Dies ist die ID für Ihren Bus.
- Optional: Geben Sie einen Anzeigenamen für den Bus ein, der auf der Seite Busdetails angezeigt wird.
- Wählen Sie in der Liste Region eine unterstützte Region aus, in der Sie Ihren Bus bereitstellen möchten.
- Wählen Sie in der Liste Log-Schweregrad den Mindestschweregrad für Ereignisse aus, die in Logeinträgen beschrieben werden. Die Standardeinstellung ist Keine. Weitere Informationen finden Sie unter
LogSeverity. - Übernehmen Sie für Verschlüsselung die Standardeinstellung Google-managed encryption key oder wählen Sie Cloud KMS-Schlüssel aus. Weitere Informationen finden Sie unter kundenverwaltete Verschlüsselungsschlüssel (CMEK) verwenden.
Wenn Sie Cloud KMS-Schlüssel auswählen, gehen Sie so vor:
Wählen Sie in der Liste Schlüsseltyp eine Methode zum Verwalten Ihrer Schlüssel aus.
Sie können Ihre Schlüssel manuell verwalten oder Autokey verwenden, mit dem Sie Schlüssel ringe und Schlüssel bei Bedarf generieren können. Wenn die Option Cloud KMS mit Autokey deaktiviert ist, wurde sie noch nicht in den aktuellen Ressourcentyp eingebunden.
Wählen Sie unter Cloud KMS-Schlüssel auswählen einen Schlüssel aus.
Sie müssen eine Region auswählen, bevor Sie Ihre kundenverwalteten Schlüssel ansehen können.
Optional: Wenn Sie den Ressourcennamen des Schlüssels manuell eingeben möchten, klicken Sie in der Liste „Vom Kunden verwalteten Schlüssel auswählen“ auf Schlüssel manuell eingeben, und geben Sie den Schlüsselnamen im angegebenen Format ein.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienst-Agentdie
cloudkms.cryptoKeyEncrypterDecrypterRolle zu.
Optional: Klicken Sie auf Quelle hinzufügen, um eine Nachrichtenquelle hinzuzufügen.
- Übernehmen Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter die Standardeinstellung
google-api-sourceoder geben Sie einen anderen Quellnamen ein. Klicken Sie auf Erstellen.
Dadurch wird die automatische Erfassung von Ereignissen aktiviert, die direkt von Google-Quellen stammen.
Beachten Sie, dass nur Ereignisse aus Ressourcen in demselben Google Cloud Projekt wie der Bus veröffentlicht werden. Weitere Informationen finden Sie unter Ereignisse aus Google-Quellen veröffentlichen.
- Übernehmen Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter die Standardeinstellung
Optional: Klicken Sie auf Label hinzufügen, um Labels hinzuzufügen. Labels sind Schlüssel/Wert-Paare, mit denen Sie Ihre Google Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?
Klicke auf Erstellen.
gcloud
Öffnen Sie ein Terminalfenster.
Erstellen Sie einen Bus mit dem
gcloud eventarc message-buses createBefehl.gcloud eventarc message-buses create BUS_NAME \ --location=REGIONErsetzen Sie Folgendes:
BUS_NAME: die ID oder voll qualifizierte Kennzeichnung des BussesREGION: ein unterstützter Standort für den BusAlternativ können Sie das Standortattribut der Google Cloud CLI festlegen:
gcloud config set eventarc/location REGION
Optional können Sie auch die folgenden Flags verwenden:
--async, um sofort zum Befehl zurückzukehren, ohne auf den Abschluss des Vorgangs zu warten.--crypto-key, um den voll qualifizierten Namen eines kundenverwalteten Verschlüsselungsschlüssels anzugeben; wenn nichts angegeben ist, Google-owned and managed keys werden verwendet.--logging-config, um den Mindestschweregrad für Ereignisse zu konfigurieren, die in Logeinträgen beschrieben werden. Mögliche Werte:NONE,DEBUG,INFO,NOTICE,WARNING,ERROR,CRITICAL,ALERT,EMERGENCY. Die Standardeinstellung istNONE. Weitere Informationen finden Sie unterLogSeverity.
REST API
Verwenden Sie zum Erstellen eines Busses die
projects.locations.messageBuses.create
Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
BUS_NAME: der Anzeigename Ihres Busses, z. B.my_bus.LABEL_KEYundLABEL_VALUE: optional. Eine Zuordnung von Label Schlüssel/Wert-Paaren, mit denen Sie Ihre Google Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?ANNOTATION_KEYundANNOTATION_VALUE: optional. Eine Zuordnung von Annotation-Schlüssel/Wert-Paaren mit Freiformtext. Sie können damit beliebige Informationen anhängen, die mit der Ressource verknüpft sind. Weitere Informationen finden Sie unter Annotationen.ENCRYPT_KEY: optional. Ein Cloud KMS-Schlüssel, der vom Bus für die Datenverschlüsselung verwendet werden soll, im Formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Weitere Informationen finden Sie unter kundenverwaltete Verschlüsselungsschlüssel verwenden.PROJECT_ID: Ihre Google Cloud Projekt-ID.LOCATION: die Region, in der der Bus erstellt werden soll, z. B.us-central1.LOG_SEVERITY: optional. Der Mindest Schweregrad des Ereignisses, das in einem Logeintrag beschrieben wird. Mögliche Werte:NONE,DEBUG,INFO,NOTICE,WARNING,ERROR,CRITICAL,ALERT,EMERGENCY. Die Standardeinstellung istNONE. Weitere Informationen finden Sie unterLogSeverity.
JSON-Text der Anfrage:
{
"display_name": "BUS_NAME",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
"cryptoKeyName": "ENCRYPT_KEY",
"loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
"createTime": "2024-01-25T17:17:45.782370139Z",
"target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Bus löschen
Sie haben folgende Möglichkeiten, einen Bus zu löschen:
- In der Google Cloud Console
- Mit der gcloud CLI in Ihrem Terminal oder in Cloud Shell
- Durch Senden einer Anfrage an die Eventarc API
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Die Seite Busdetails wird geöffnet.
Klicken Sie auf Löschen.
Wenn Sie aufgefordert werden, den Bus zu löschen, wählen Sie das Kästchen Möchten Sie fortfahren? aus, um zu bestätigen, dass alle Nachrichtenquellen, die für die Verwendung des Busses konfiguriert sind, ihn nicht mehr verwenden können.
Geben Sie
Deleteein, um den Löschvorgang zu bestätigen.Klicken Sie auf Löschen.
gcloud
Öffnen Sie ein Terminalfenster.
Löschen Sie einen Bus mit dem
gcloud eventarc message-buses deleteBefehl.gcloud eventarc message-buses delete BUS_NAME \ --location=REGIONErsetzen Sie Folgendes:
BUS_NAME: die ID oder voll qualifizierte Kennzeichnung des BussesREGION: der unterstützte Standort für den Bus
REST API
Verwenden Sie zum Löschen eines Busses die
projects.locations.messageBuses.delete
Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: Ihre Google Cloud Projekt-ID.LOCATION: die Region, in der der Bus erstellt wurde, z. B.us-central1.BUS_NAME: der Name des Busses, den Sie löschen möchten.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
"createTime": "2024-01-25T17:17:45.782370139Z",
"target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Nächste Schritte
- Ereignisse aus Google-Quellen veröffentlichen
- Ereignisse direkt in einem unterstützten Format veröffentlichen