Bus zum Weiterleiten von Nachrichten erstellen

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 Berechtigung eventarc.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 Berechtigung eventarc.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

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.

    Zu „Bus“

  2. Klicken Sie auf Bus erstellen.

  3. Führen Sie auf der Seite Bus erstellen folgende Schritte aus:

    1. Geben Sie einen Busnamen ein. Dies ist die ID für Ihren Bus.
    2. Optional: Geben Sie einen Anzeigenamen für den Bus ein, der auf der Seite Busdetails angezeigt wird.
    3. Wählen Sie in der Liste Region eine unterstützte Region aus, in der Sie Ihren Bus bereitstellen möchten.
    4. 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.
    5. Ü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.
    6. Wenn Sie Cloud KMS-Schlüssel auswählen, gehen Sie so vor:

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

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

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

      4. Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienst-Agentdie cloudkms.cryptoKeyEncrypterDecrypter Rolle zu.

    7. Optional: Klicken Sie auf Quelle hinzufügen, um eine Nachrichtenquelle hinzuzufügen.

      1. Übernehmen Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter die Standardeinstellung google-api-source oder geben Sie einen anderen Quellnamen ein.
      2. 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.

    8. 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?

  4. Klicke auf Erstellen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Erstellen Sie einen Bus mit dem gcloud eventarc message-buses create Befehl.

    gcloud eventarc message-buses create BUS_NAME \
        --location=REGION
    

    Ersetzen Sie Folgendes:

    • BUS_NAME: die ID oder voll qualifizierte Kennzeichnung des Busses
    • REGION: ein unterstützter Standort für den Bus

      Alternativ 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 ist NONE. Weitere Informationen finden Sie unter LogSeverity.

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_KEY und LABEL_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 und ANNOTATION_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 Format projects/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 ist NONE. Weitere Informationen finden Sie unter LogSeverity.

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

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.

    Zu „Bus“

    Die Seite Busdetails wird geöffnet.

  2. Klicken Sie auf Löschen.

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

  4. Geben Sie Delete ein, um den Löschvorgang zu bestätigen.

  5. Klicken Sie auf Löschen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Löschen Sie einen Bus mit dem gcloud eventarc message-buses delete Befehl.

    gcloud eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    Ersetzen Sie Folgendes:

    • BUS_NAME: die ID oder voll qualifizierte Kennzeichnung des Busses
    • REGION: 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:

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