Bus zum Weiterleiten von Nachrichten erstellen

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

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

    Bus aufrufen

  2. Klicken Sie auf Bus erstellen.

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

    1. Geben Sie einen Busnamen ein. Dies ist die ID Ihres Busses.
    2. Optional: Geben Sie einen Anzeigenamen des Busses ein, der auf der Seite Busdetails angezeigt wird.
    3. Wählen Sie in der Liste Region eine unterstützte Region aus, in der Sie den 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. Der Standardwert ist None. Weitere Informationen finden Sie unter LogSeverity.
    5. Ü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.
    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, 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.

      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 vom Kunden verwalteten Schlüssel ansehen können.

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

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

    7. Optional: Wenn Sie eine Nachrichtenquelle hinzufügen möchten, klicken Sie auf  Quelle hinzufügen.

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

    8. Optional: Wenn Sie Labels hinzufügen möchten, klicken Sie auf  Label hinzufügen. Labels sind Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud -Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?

  4. Klicken Sie auf Erstellen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. 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 Busses
    • REGION: ein unterstützter Standort für den Bus

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

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 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 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 Format projects/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 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
  • Über die gcloud CLI in Ihrem Terminal oder in Cloud Shell
  • Anfrage an die Eventarc API senden

Console

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

    Bus aufrufen

    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. 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 Busses
    • REGION: 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