Mit einem Eventarc Advanced-Bus können Sie den Nachrichtenfluss durch Ihr System zentralisieren, überwachen und nachvollziehen. Er fungiert als Router. Er empfängt Ereignisse aus einer Nachrichtenquelle oder von einem Anbieter und wertet sie gemäß einer Registrierung aus. Eine Anmeldung 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 IAM-Rolle Eventarc-Administrator (
roles/eventarc.admin
) oder Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin
) für Ihr Busprojekt zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Erstellen eines Busses benötigen. 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, damit Sie die Berechtigung erhalten, die Sie zum Verwenden eines Busses benötigen. Diese vordefinierte Rolle enthält die Berechtigungeventarc.buses.use
, die für die Verwendung 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 können Sie einen Bus erstellen:
- In der Google Cloud Console
- Über die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell
- Anfrage an die Eventarc API senden
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-Schweregrad den Mindestschweregrad für Ereignisse aus, die in Logeinträgen beschrieben werden. Der Standardwert ist None. 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, um Schlüsselbunde und Schlüssel bei Bedarf zu generieren. 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 ansehen können.
Optional: Sie können den Ressourcennamen des Schlüssels 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 Quellennamen ein. Klicken Sie auf Erstellen.
Dadurch wird die automatische Erfassung von Ereignissen aktiviert, die direkt aus Google-Quellen stammen.
Es werden nur Ereignisse aus Ressourcen im selben Google Cloud-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: Wenn Sie Labels hinzufügen möchten, klicken Sie auf Was sind Labels?
Label hinzufü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 einen Bus mit dem Befehl
gcloud beta eventarc message-buses create
.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 das Attribut für den Speicherort der Google Cloud CLI festlegen:
gcloud config set eventarc/location REGION
Optional können Sie auch die folgenden Flags verwenden:
--async
, um sofort vom Befehl zurückzukehren, ohne auf den Abschluss des Vorgangs zu warten.--crypto-key
, um den voll qualifizierten Namen eines vom Kunden verwalteten Verschlüsselungsschlüssels anzugeben. Wenn nicht angegeben, werden Google-owned and managed keys verwendet.--logging-config
, um den Mindestschweregrad für Ereignisse zu konfigurieren, die in Logeinträgen beschrieben werden. Muss einer der folgenden Werte sein:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. 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 Label-Schlüssel/Wert-Paaren, mit denen Sie Ihre Google Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?ANNOTATION_KEY
undANNOTATION_VALUE
: Optional. Eine Zuordnung von Schlüssel/Wert-Paaren für Anmerkungen mit Freiformtext. Sie können sie verwenden, um beliebige Informationen anzuhä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 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 Mindestschweregrad des im Logeintrag beschriebenen Ereignisses. 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
- Anfrage an die Eventarc API senden
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
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
: der unterstützte Standort für den Bus
REST API
Wenn Sie einen Bus löschen möchten, verwenden Sie 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 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