Mit einem Eventarc Advanced-Bus können Sie den Nachrichtenfluss durch Ihr System zentralisieren, überwachen und erfassen. Er dient als Router. Er empfängt Ereignisse von einer Nachrichtenquelle oder von einem Anbieter und bewertet sie gemäß einer Registrierung. Eine Anmeldung weist ein Abo einem bestimmten Bus zu und definiert die Abgleichkriterien für Nachrichten, die dann entsprechend weitergeleitet werden. Weitere Informationen finden Sie unter Registrierung zum Empfangen von Ereignissen erstellen.
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 IAM-Rolle Eventarc Admin (
roles/eventarc.admin
) oder Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin
) 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 IAM-Rolle Eventarc Message Bus User (
roles/eventarc.messageBusUser
) 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 Erforderliche 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
So erstellen Sie einen Bus:
- In der Google Cloud Console
- Über die 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 die folgenden Schritte aus:
- Geben Sie einen Busnamen ein. Dies ist die ID Ihres Busses.
- Optional: Geben Sie einen Anzeigenamen des Busses ein, der auf der Seite Busdetails angezeigt wird.
- Wählen Sie in der Liste Region eine unterstützte Region aus, in der Sie den Bus bereitstellen möchten.
- Wählen Sie in der Liste Log-Wichtigkeit die Mindestwichtigkeit für Ereignisse aus, die in Protokolleinträgen beschrieben sind. Standardmäßig ist Kein ausgewählt. Weitere Informationen finden Sie unter
LogSeverity
. - Übernehmen Sie unter Verschlüsselung den Standardwert Google-managed encryption key oder wählen Sie Cloud KMS-Schlüssel aus. Weitere Informationen finden Sie unter Vom Kunden verwaltete 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üsselringe 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 vom Kunden verwalteten Schlüssel aufrufen können.
Optional: Sie können den Ressourcennamen des Schlüssels, den Sie verwenden möchten, manuell in die Liste Wählen Sie einen vom Kunden verwalteten Schlüssel aus eingeben. Klicken Sie dazu 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-Agent die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
zu.
Optional: Wenn Sie eine Nachrichtenquelle hinzufügen möchten, klicken Sie auf
Quelle hinzufügen.- Übernehmen Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter den Standardwert
google-api-source
oder geben Sie einen anderen Quellnamen ein. Klicken Sie auf Erstellen.
Dadurch wird die automatische Erfassung von Ereignissen ermöglicht, die direkt aus Google-Quellen stammen.
Es werden nur Ereignisse aus Ressourcen im Google Cloudgleichen Projekt wie der Bus veröffentlicht. Weitere Informationen finden Sie unter Ereignisse aus Google-Quellen veröffentlichen.
- Übernehmen Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter den Standardwert
Optional: Klicken Sie auf Was sind Labels?
Label hinzufügen, um Labels hinzuzufügen. Labels sind Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter
Klicken Sie auf Erstellen.
gcloud
Öffnen Sie ein Terminalfenster.
Erstellen Sie mit dem Befehl
gcloud beta eventarc message-buses create
einen Bus.gcloud beta eventarc message-buses create BUS_NAME \ --location=REGION
Ersetzen Sie Folgendes:
BUS_NAME
: die ID oder voll qualifizierte Kennzeichnung des BussesREGION
: ein unterstützter Standort für den BusAlternativ können Sie die Speicherorteigenschaft der Google Cloud CLI festlegen:
gcloud config set eventarc/location REGION
Optional: Sie können auch die folgenden Flags verwenden:
--async
, um sofort vom Befehl zurückzukehren, ohne auf den Abschluss des laufenden Vorgangs zu warten.--crypto-key
, um den voll qualifizierten Namen eines vom Kunden verwalteten Verschlüsselungsschlüssels anzugeben. Wenn nicht angegeben, wird Google-owned and managed keys verwendet.--logging-config
, um den Mindestschweregrad für Ereignisse zu konfigurieren, die in Protokolleinträgen beschrieben sind. Es muss sich um einen dieser Algorithmen handeln:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
oderEMERGENCY
. Der Standardwert istNONE
. Weitere Informationen finden Sie unterLogSeverity
.
REST API
Verwenden Sie zum Erstellen eines Busses die Methode projects.locations.messageBuses.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
BUS_NAME
: Der Anzeigename Ihres Busses, z. B.my_bus
.LABEL_KEY
undLABEL_VALUE
: Optional. Eine Zuordnung von Labelschlüsseln und ‑werten, mit der Sie Ihre Google Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?ANNOTATION_KEY
undANNOTATION_VALUE
: Optional. Eine Zuordnung von Anmerkungsschlüssel/Wert-Paaren im freien Format. Sie können damit beliebige Informationen an die Ressource anhängen. Weitere Informationen finden Sie unter Anmerkungen.ENCRYPT_KEY
: Optional. Ein Cloud KMS-Schlüssel, den der Bus für die Datenverschlüsselung im Formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
verwenden soll. Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.PROJECT_ID
: Ihre Google CloudProjekt-ID.LOCATION
: die Region, in der der Bus erstellt werden soll, z. B.us-central1
.LOG_SEVERITY
: Optional. Der minimale Schweregrad des Ereignisses, das in einem Logeintrag beschrieben ist. Eine der folgenden Möglichkeiten:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Der Standardwert 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
- Über die 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.
Klicken Sie auf den Namen des Busses, den Sie löschen möchten.
Die Seite Busdetails wird geöffnet.
Klicken Sie auf
Löschen.Wenn Sie aufgefordert werden, den Bus zu löschen, setzen Sie ein Häkchen in das Kästchen Möchten Sie fortfahren?, um zu bestätigen, dass alle Nachrichtenquellen, die für die Verwendung des Busses konfiguriert sind, ihn nicht mehr verwenden können.
Geben Sie
Delete
ein, um den Löschvorgang zu bestätigen.Klicken Sie auf Löschen.
gcloud
Öffnen Sie ein Terminalfenster.
Verwenden Sie den Befehl
gcloud beta eventarc message-buses delete
, um einen Bus zu löschen.gcloud beta eventarc message-buses delete BUS_NAME \ --location=REGION
Ersetzen Sie Folgendes:
BUS_NAME
: die ID oder voll qualifizierte Kennzeichnung des BussesREGION
: den unterstützten Standort für den Bus
REST API
Verwenden Sie zum Löschen eines Busses die Methode projects.locations.messageBuses.delete
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google CloudProjekt-ID.LOCATION
: die Region, in der der Bus erstellt wird, z. B.us-central1
.BUS_NAME
: der Name des Bus, 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