Registrierung zum Empfang von Ereignissen erstellen

Eine Anmeldung weist ein Abo einem bestimmten Bus zu. Die Anmeldung definiert die Abgleichkriterien, die bestimmen, welche Nachrichten an ein Ziel weitergeleitet werden. Außerdem wird die Pipeline angegeben, über die übereinstimmende Nachrichten weitergeleitet werden sollen. In einer Pipeline können Sie ein Ziel konfigurieren und haben außerdem die Möglichkeit, alle übereinstimmenden Ereignisse vor ihrer Übermittlung an das Ziel umzuwandeln.

Wichtige Hinweise:

  • Eine Pipeline und eine Registrierung müssen sich im selben Google Cloud Projekt befinden. Der Bus kann sich im selben oder in einem anderen Projekt befinden.
  • Eine Pipeline kann für mehrere Registrierungen verwendet werden.
  • Nur ein Ziel kann das Ziel von Nachrichten sein, die über eine Pipeline weitergeleitet werden.

Hinweise

Bevor Sie eine Pipeline oder eine Registrierung konfigurieren, sollten Sie bereits einen Eventarc Advanced-Bus erstellt haben.

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 eine Pipeline und eine Registrierung zum Weiterleiten von Nachrichten erstellen:

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Eventarc-Entwickler (roles/eventarc.developer) für Ihr Pipeline-Projekt zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Erstellen einer Pipeline benötigen. Diese vordefinierte Rolle enthält die Berechtigung eventarc.pipelines.create, die zum Erstellen einer Pipeline erforderlich ist.
  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Eventarc-Entwickler (roles/eventarc.developer) für Ihr Registrierungsprojekt zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Erstellen einer Registrierung benötigen. Diese vordefinierte Rolle enthält die Berechtigung eventarc.enrollments.create, die zum Erstellen einer Registrierung 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.

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.

Registrierung und Pipeline erstellen

So können Sie eine Pipeline und eine Registrierung 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

In der Google Cloud -Konsole können Sie sowohl die Pipeline als auch die Registrierung gleichzeitig auf der Seite Pipelines erstellen.

  1. Rufen Sie zum Erstellen einer Registrierung in der Google Cloud Console die Seite Eventarc > Pipelines auf.

    Zu Pipelines

  2. Klicken Sie auf  Pipeline erstellen.

  3. Führen Sie im Bereich Piplinedetails folgende Schritte aus:

    1. Geben Sie einen Pipelinenamen ein. Dies ist die ID für Ihre Pipeline.
    2. Wählen Sie in der Liste Region eine Region aus, in der Sie die Pipeline bereitstellen möchten. Die Pipeline muss in derselben Region wie der Bus erstellt werden. Weitere Informationen finden Sie unter Erweiterte Eventarc-Standorte.
    3. Optional: 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.
    4. Optional: Im Bereich Wiederholungsrichtlinie können Sie die Standardkonfiguration ändern, um Ereignisse noch einmal zu versuchen.
    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 Autokey-Option deaktiviert ist, wurde sie noch nicht in den aktuellen Ressourcentyp eingebunden.

      2. Wählen Sie unter Vom Kunden verwalteten 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 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?

    8. Klicken Sie auf Weiter.

  4. Führen Sie im Bereich Registrierungen folgende Schritte aus:

    1. Klicken Sie auf Registrierung hinzufügen.
    2. Geben Sie einen Registrierungsnamen ein.
    3. Wählen Sie in der Liste Bus einen Bus aus, den Sie abonnieren möchten.
    4. Geben Sie im Feld CEL-Ausdruck einen Auswertungsausdruck in CEL ein. Beispiel:

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      Der Standardausdruck true bedeutet, dass alle Nachrichten ungefiltert weitergeleitet werden.

    5. Klicken Sie auf Fertig.

    6. Sie können eine weitere Registrierung hinzufügen oder auf Weiter klicken.

  5. Optional: Gehen Sie im Bereich Ereignisvermittlung so vor oder klicken Sie auf Weiter:

    1. Klicken Sie das Kästchen Transformation anwenden an.
    2. Wählen Sie in der Liste Eingangsformat das zutreffende Format aus.

      Wenn Sie eine Transformation anwenden, müssen Sie ein Eingabedatenformat für eine Pipeline angeben. Alle Ereignisse müssen diesem Format entsprechen.

    3. Für Avro- oder Protobuf-Formate müssen Sie ein Eingangs-Schema angeben. Optional können Sie ein Eingangsschema hochladen. Weitere Informationen finden Sie unter Empfangene Ereignisse formatieren.

    4. Geben Sie im Feld CEL-Ausdruck einen Transformationsausdruck mit CEL ein.

    5. Klicken Sie auf Weiter.

  6. Führen Sie im Bereich Ziel folgende Schritte aus:

    1. Wählen Sie in der Liste Zieltyp einen Zieltyp aus, an den Nachrichten weitergeleitet werden sollen. Gehen Sie je nach Zieltyp so vor:

      • HTTP-Endpunkt: Geben Sie den Ziel-URI an. Der Host kann entweder eine statische IP-Adresse sein, die über ein VPC-Netzwerk (Virtual Private Cloud) erreichbar ist, oder der interne DNS-Hostname (Domain Name System) eines Dienstes, der mit Cloud DNS aufgelöst werden kann.

        Sie können diesen Zieltyp verwenden, um eine Cloud Run-Funktion als Ziel festzulegen.

      • Eventarc Advanced-Bus: Wählen Sie einen Eventarc Advanced-Bus aus.

      • Workflows-Workflow: Wählen Sie einen Workflows-Workflow aus.

      • Pub/Sub-Thema: Wählen Sie ein Pub/Sub-Thema aus oder erstellen Sie eines.

      • Cloud Run-Dienst (über HTTP): Wählen Sie einen Cloud Run-Dienst aus, der Ereignisse als HTTP-POST-Anfragen empfängt, die an seinen Stamm-URL-Pfad (/) gesendet werden. Optional können Sie einen relativen URL-Pfad für den Zieldienst angeben, an den Ereignisse gesendet werden sollen.

      • Cloud Run-Job (über HTTP): Wählen Sie einen Cloud Run-Job aus, der Ereignisse als HTTP-POST-Anfragen empfängt.

    2. Geben Sie für HTTP-Endpunkte (einschließlich Cloud Run-URLs) eine Netzwerkverbindung an.

      Ein Netzwerkanhang ist eine Ressource, mit der ein Produzenten-VPC-Netzwerk Verbindungen zu einem Nutzer-VPC-Netzwerk initiieren kann. Eventarc Advanced verwendet zum Veröffentlichen von Ereignissen den Netzwerkanhang, um eine Verbindung zum Endpunkt herzustellen, der in einem VPC-Netzwerk gehostet wird.

      Sie können einen Netzwerkanhang erstellen, der automatisch Verbindungen von jeder Private Service Connect-Schnittstelle akzeptiert, die auf den Netzwerkanhang verweist. Erstellen Sie den Netzwerkanhang im selben Netzwerk und in derselben Region wie der Zielendpunkt.

      Wenn Sie Nachrichten mithilfe einer DNS-Adresse an ein Google-Ziel weiterleiten, z. B. Cloud Run, muss der private Google-Zugriff in dem im Netzwerkanhang verwendeten Subnetz aktiviert sein. Andernfalls kann die DNS-Adresse nicht aufgelöst werden.

    3. Wählen Sie gegebenenfalls in der Liste Ausgehendes Format ein Format aus.

      Wenn für eine Pipeline kein Inbound-Datenformat angegeben ist, kann auch kein Outbound-Format festgelegt werden.

    4. Wenden Sie gegebenenfalls eine Nachrichtenbindung an. Weitere Informationen finden Sie unter Nachrichtenbindung definieren.

    5. Klicken Sie das Kästchen Authentifizierung aktivieren an, um die Authentifizierung zu aktivieren.

      1. Wählen Sie in der Liste Auth header (Autorisierungsheader) den Typ des Tokens aus, das generiert und als Authorization-Header in der HTTP-Anfrage angehängt werden soll:

        • Ein OAuth-Token sollte im Allgemeinen nur verwendet werden, wenn Google APIs auf *.googleapis.com aufgerufen werden. Geben Sie optional den Bereich für dieses Token an. Andernfalls wird standardmäßig https://www.googleapis.com/auth/cloud-platform verwendet. FürGoogle Cloud -Dienste empfiehlt es sich, den Bereich https://www.googleapis.com/auth/cloud-platform zu verwenden. Dieser enthält alle Google Cloud -APIs zusammen mit Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM), die eine detaillierte Zugriffssteuerung bietet.

          Alle Anfragen an einen anderen Eventarc Advanced-Bus, Pub/Sub oder Workflows müssen einen HTTP-Autorisierungs-Header mit einem von Google für eines der autorisierten Dienstkonten signierten OAuth-Token enthalten.

        • Ein OIDC-Token kann für viele Szenarien verwendet werden, einschließlich Endpunkten, an denen Sie das Token selbst validieren möchten. Geben Sie außerdem die Zielgruppe an, für die dieses Token bestimmt ist. Im Allgemeinen sollte sie mit der URL der Zielpipeline übereinstimmen. Falls nichts angegeben wurde, wird die gesamte URL einschließlich aller Anfrageparameter verwendet.

          Cloud Run führt für jede Anfrage eine IAM-Prüfung durch. Mit der Berechtigung run.routes.invoke können Sie so konfigurieren, wer auf Ihren Cloud Run-Dienst zugreifen kann:

          • Erteilen Sie die Berechtigung zum Auswählen von Dienstkonten oder Gruppen, um den Zugriff auf den Dienst zu ermöglichen. Alle Anfragen müssen einen HTTP-Autorisierungs-Header enthalten, der ein von Google für ein autorisiertes Dienstkonto signiertes OpenID Connect-Token enthält.

          • Erteilen Sie allUsers die Berechtigung, den nicht authentifizierten Zugriff zuzulassen.

          Weitere Informationen finden Sie unter Zugriffssteuerung für Cloud Run.

        Weitere Informationen zu Tokentypen

      2. Wählen Sie in der Liste Dienstkonto das Dienstkonto aus, das Ihren Zieldienst aufruft. Alternativ können Sie ein neues Dienstkonto erstellen.

        Dies gibt die E-Mail-Adresse des IAM-Dienstkontos an, die der Pipeline zugeordnet ist und dem Sie zuvor bestimmte Rollen zugewiesen haben, die für Eventarc Advanced erforderlich sind.

  7. Klicken Sie auf Erstellen.

gcloud

Wenn Sie die gcloud CLI verwenden, erstellen Sie zuerst die Pipeline und dann die Registrierung mit den entsprechenden Befehlen.

Pipeline

  1. Öffnen Sie ein Terminalfenster.

  2. Erstellen Sie mit dem Befehl gcloud beta eventarc pipelines create eine Pipeline:

    gcloud beta eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=LOCATION

    Ersetzen Sie Folgendes:

    • PIPELINE_NAME: die ID der Pipeline oder ein voll qualifizierter Name
    • DESTINATION_KEY: ein oder mehrere Schlüssel/Wert-Paare zum Konfigurieren eines Ziels für die Pipeline

      Sie müssen nur einen der folgenden Schlüssel festlegen:

      Für http_endpoint_uri (einschließlich Cloud Run-URLs) müssen Sie den folgenden Schlüssel festlegen:

      • network_attachment: Eine Ressource, mit der ein Produzenten-VPC-Netzwerk Verbindungen zu einem Nutzer-VPC-Netzwerk initiieren kann. Eventarc Advanced verwendet zum Veröffentlichen von Ereignissen den Netzwerkanhang, um eine Verbindung zum Endpunkt herzustellen, der in einem VPC-Netzwerk gehostet wird.

        Sie können einen Netzwerkanhang erstellen, der automatisch Verbindungen von jeder Private Service Connect-Schnittstelle akzeptiert, die auf den Netzwerkanhang verweist. Erstellen Sie den Netzwerkanhang im selben Netzwerk und in derselben Region wie die Zielressource.

        Wenn Sie Nachrichten mithilfe einer DNS-Adresse an ein Google-Ziel weiterleiten, z. B. Cloud Run, muss der private Google-Zugriff in dem im Netzwerkanhang verwendeten Subnetz aktiviert sein; ansonsten kann die DNS-Adresse nicht aufgelöst werden.

      Zum Aktivieren der Authentifizierung können Sie einen der folgenden Schlüssel festlegen:

      • google_oidc_authentication_service_account: Die E-Mail-Adresse des Dienstkontos, mit der ein OIDC-Token generiert wird, das für viele Szenarien verwendet werden kann, einschließlich Endpunkten, an denen Sie das Token selbst validieren möchten. Optional können Sie google_oidc_authentication_audience festlegen, um die Zielgruppe anzugeben, für die dieses Token vorgesehen ist. Im Allgemeinen sollte sie mit der URL der Zielpipeline übereinstimmen. Falls nichts angegeben wurde, wird die gesamte URL einschließlich aller Anfrageparameter verwendet.

        Cloud Run führt für jede Anfrage eine IAM-Prüfung durch. Mit der Berechtigung run.routes.invoke können Sie so konfigurieren, wer auf Ihren Cloud Run-Dienst zugreifen kann:

        • Erteilen Sie die Berechtigung zum Auswählen von Dienstkonten oder Gruppen, um den Zugriff auf den Dienst zu ermöglichen. Alle Anfragen müssen einen HTTP-Autorisierungs-Header enthalten, der ein von Google für ein autorisiertes Dienstkonto signiertes OpenID Connect-Token enthält.

        • Erteilen Sie allUsers die Berechtigung, den nicht authentifizierten Zugriff zuzulassen.

        Weitere Informationen finden Sie unter Zugriffssteuerung für Cloud Run .

      • oauth_token_authentication_service_account: Die E-Mail-Adresse des Dienstkontos, mit der ein OAuth-Token generiert wird, das in der Regel nur beim Aufrufen von Google APIs verwendet werden sollte, die auf *.googleapis.com gehostet werden. Optional können Sie oauth_token_authentication_scope festlegen, um den Bereich dieses Tokens anzugeben. Andernfalls wird standardmäßig https://www.googleapis.com/auth/cloud-platform verwendet. FürGoogle Cloud -Dienste empfiehlt es sich, den Bereich https://www.googleapis.com/auth/cloud-platform zu verwenden. Dieser enthält alle Google Cloud -APIs zusammen mit Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM), die eine detaillierte Zugriffssteuerung bietet.

        Alle Anfragen an einen anderen Eventarc Advanced-Bus, Pub/Sub oder Workflows müssen einen HTTP-Autorisierungs-Header mit einem von Google für eines der autorisierten Dienstkonten signierten OAuth-Token enthalten.

        Weitere Informationen zu Tokentypen

      Optional: Sie können einen der folgenden Schlüssel festlegen:

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        Wenn Sie ein Ausgabeformat festlegen, müssen Sie auch ein Eingabeformat angeben (siehe die folgenden input-payload-format-*-Flags).

      Optional: Wenn http_endpoint_uri nicht als Zielschlüssel verwendet wird, können Sie die folgenden Schlüssel festlegen:

      • project: Die Google Cloud Projekt-ID der Zielressource. Standardmäßig wird die Projekt-ID für die Pipeline verwendet.
      • location: Der Speicherort der Zielressource. Standardmäßig wird der Speicherort für die Pipeline verwendet.
    • LOCATION: eine unterstützte Eventarc Advanced-Region

      Alternativ können Sie das Attribut für den Speicherort der gcloud CLI festlegen:

      gcloud config set eventarc/location LOCATION
      

    Optional können Sie 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 zum Konfigurieren der Protokollierungsebene, die eine der folgenden sein muss: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.
    • --mediations, um eine Transformation anzuwenden; transformation_template ist die einzige unterstützte Vorlage und pro Pipeline wird nur eine Vermittlung unterstützt, z. B.:

      --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'

      Wenn Sie eine Transformation anwenden, müssen Sie eines der folgenden Flags verwenden, um ein Eingabeformat anzugeben.

    • Eine der folgenden Optionen zum Angeben eines Eingabeformats:

      • --input-payload-format-avro-schema-definition
      • --input-payload-format-json
      • --input-payload-format-protobuf-schema-definition
    • --max-retry-attempts, --max-retry-delay und --min-retry-delay bis zu Wiederholungsereignissen

    Beispiel:

    gcloud beta eventarc pipelines create my-pipeline \
        --destinations=http_endpoint_uri='https://example-endpoint.com',network_attachment=my-network-attachment,oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \
        --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \
        --location=us-central1 \
        --async
    

    Weitere Informationen und Beispiele finden Sie in der Dokumentation zur gcloud CLI.

Registrierung

  1. Öffnen Sie ein Terminalfenster.

  2. Erstellen Sie mit dem Befehl gcloud beta eventarc enrollments create eine Registrierung:

    gcloud beta eventarc enrollments create ENROLLMENT_NAME \
        --cel-match=MATCH_EXPRESSION \
        --destination-pipeline=PIPELINE_NAME \
        --message-bus=BUS_NAME \
        --message-bus-project=PROJECT_ID \
        --location=LOCATION

    Ersetzen Sie Folgendes:

    • ENROLLMENT_NAME: die ID der Registrierung oder ein voll qualifizierter Name
    • MATCH_EXPRESSION: Der Abgleichsausdruck für diese Registrierung mit CEL, z. B. "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
    • PIPELINE_NAME: die ID der Zielpipeline oder ihr vollständig qualifizierter Name für diese Registrierung
    • BUS_NAME: die ID des Eventarc Advanced-Busses oder sein voll qualifizierter Name
    • PROJECT_ID: die Google Cloud Projekt-ID für den Bus
    • LOCATION: eine unterstützte Eventarc Advanced-Region

      Alternativ können Sie das Attribut für den Speicherort der gcloud CLI festlegen:

      gcloud config set eventarc/location LOCATION
      

    Optional können Sie das folgende Flag verwenden:

    • --async, um sofort vom Befehl zurückzukehren, ohne auf den Abschluss des Vorgangs zu warten

    Beispiel:

    gcloud beta eventarc enrollments create my-enrollment \
        --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \
        --destination-pipeline=my-pipeline \
        --message-bus=my-message-bus \
        --message-bus-project=another-google-cloud-project \
        --location=us-central1 \
        --async
    

REST API

Wenn Sie Anfragen an die Eventarc API senden, erstellen Sie zuerst die Pipeline und dann die Registrierung.

Pipeline

Verwenden Sie zum Erstellen einer Pipeline die Methode projects.locations.pipelines.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • name: Der vollständige Ressourcenname der Pipeline im Format projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Google CloudProjekt-ID für das Pipeline-Projekt
    • LOCATION: die Region, in der die Pipeline bereitgestellt werden soll, z. B. us-central1
    • PIPELINE_NAME: der Name der Pipeline
  • 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.
  • 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.
  • destinations: Das Ziel, an das Nachrichten weitergeleitet werden. Es wird nur ein Ziel unterstützt: httpEndpoint, messageBus, topic oder workflow. Weitere Informationen finden Sie unter Destination-Ziel. Ersetzen Sie beispielsweise Folgendes:
    • HTTP_URI: Ein Ziel-URI. Der Host kann entweder eine statische IP-Adresse sein, die über ein VPC-Netzwerk (Virtual Private Cloud) adressiert werden kann, oder der interne DNS-Hostname (Domain Name System) eines Dienstes, der mit Cloud DNS aufgelöst werden kann. Optional können Sie auch messageBindingTemplate festlegen, um eine Nachrichtenbindung anzugeben.
    • networkAttachment: Gilt nur für httpEndpoint (einschließlich Cloud Run-URLs). Der vollständige Ressourcenname eines Netzwerkanhangs in diesem Format: projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME. Ein Netzwerkanhang ist eine Ressource, mit der ein VPC-Netzwerk (Virtual Private Cloud) eines Erstellers Verbindungen zu einem Nutzer-VPC-Netzwerk initiieren kann. Er muss angegeben werden. Eventarc Advanced verwendet zum Veröffentlichen von Ereignissen den Netzwerkanhang, um eine Verbindung zum Endpunkt herzustellen, der in einem VPC-Netzwerk gehostet wird.

      Sie können einen Netzwerkanhang erstellen, der automatisch Verbindungen von jeder Private Service Connect-Schnittstelle akzeptiert, die auf den Netzwerkanhang verweist. Erstellen Sie den Netzwerkanhang im selben Netzwerk und in derselben Region wie die Zielressource.

      Wenn Sie Nachrichten mithilfe einer DNS-Adresse an ein Google-Ziel weiterleiten, z. B. Cloud Run, muss der private Google-Zugriff in dem im Netzwerkanhang verwendeten Subnetz aktiviert sein; ansonsten kann die DNS-Adresse nicht aufgelöst werden.

    • SERVICE_ACCOUNT_EMAIL: Der Name der E-Mail-Adresse des Dienstkontos, die zum Generieren eines OIDC-Tokens verwendet wird. Dieses kann für viele Szenarien verwendet werden, einschließlich Endpunkten, an denen Sie das Token selbst validieren möchten. Optional können Sie audience festlegen, um die Zielgruppe anzugeben, für die dieses Token vorgesehen ist. In der Regel sollte sie mit der URL der Zielpipeline übereinstimmen. Falls nichts angegeben wurde, wird die gesamte URL verwendet, einschließlich aller Anfrageparameter.

      Alternativ können Sie oauthToken verwenden, um die E-Mail-Adresse des Dienstkontos anzugeben, mit der ein OAuth-Token generiert wird. Dieses sollte in der Regel nur beim Aufrufen von Google APIs verwendet werden, die auf *.googleapis.com gehostet werden. Optional können Sie scope festlegen, um den Bereich dieses Tokens anzugeben. Andernfalls wird standardmäßig https://www.googleapis.com/auth/cloud-platform verwendet. Für Google Cloud-Dienste empfiehlt es sich, den Bereich https://www.googleapis.com/auth/cloud-platform zu verwenden. Dieser enthält alle Google Cloud APIs zusammen mit Identity and Access Management (IAM), die eine detaillierte Zugriffssteuerung bietet.

      Alle Anfragen an einen anderen Eventarc Advanced-Bus, Pub/Sub oder Workflows müssen einen HTTP-Autorisierungs-Header mit einem von Google für eines der autorisierten Dienstkonten signierten OAuth-Token enthalten.

      Weitere Informationen zu Tokentypen

JSON-Text der Anfrage:

{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},"networkConfig":
  {"networkAttachment": "projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}

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/pipelines/PIPELINE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Registrierung

Verwenden Sie zum Erstellen einer Registrierung die Methode projects.locations.enrollments.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ENROLLMENT_NAME: Der Anzeigename Ihrer Registrierung, z. B. my_enrollment.
  • MATCH_EXPRESSION: ein CEL-Ausdruck, der angibt, auf welche Nachrichten diese Registrierung angewendet wird. Beispiel: message.type == 'hello-world-type'
  • destination: Der vollständige Ressourcenname der Zielpipeline im Format projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Google CloudProjekt-ID für das Pipeline-Projekt
    • LOCATION: die Region, in der die Pipeline bereitgestellt wird, z. B. us-central1.
    • PIPELINE_NAME: der Name der Pipeline
  • message_bus: Der vollständige Ressourcenname des Busses, der die Quelle der Nachrichten im Format projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME identifiziert.

    Ersetzen Sie Folgendes:

    • BUS_PROJECT_ID: die Google Cloud Projekt-ID des Busprojekts
    • BUS_LOCATION: die Region, in der der Bus bereitgestellt wird, z. B. us-central1
    • BUS_NAME: der Name des Message-Bus

JSON-Text der Anfrage:

{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}

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/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Registrierungen auflisten

So können Sie Registrierungen auflisten:

  • In der Google Cloud Console
  • Über die gcloud CLI in Ihrem Terminal oder in Cloud Shell
  • Anfrage an die Eventarc API senden

Console

  1. Wenn Sie Registrierungen für eine bestimmte Pipeline auflisten möchten, rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.

    Zu Pipelines

  2. Klicken Sie auf den Namen der Pipeline, für die Sie Registrierungen auflisten möchten.

    Die Seite Pipeline-Details wird geöffnet.

    Auf dem Tab Anmeldungen werden alle Anmeldungen aufgeführt, die mit der Pipeline verknüpft sind.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Listen Sie Registrierungen mit dem Befehl gcloud beta eventarc enrollments list auf:

    gcloud beta eventarc enrollments list \
        --location=LOCATION

    Ersetzen Sie LOCATION durch eine unterstützte Eventarc Advanced-Region.

REST API

Verwenden Sie die Methode projects.locations.enrollments.list, um Registrierungen aufzulisten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • LOCATION: die Region, in der die Registrierungen erstellt werden, z. B. us-central1.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Instanzen von Enrollment und die Antwort sollte in etwa so aussehen:

{
  "enrollments": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
      "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
      "createTime": "2025-03-26T17:57:25.214845320Z",
      "updateTime": "2025-03-26T17:57:45.136172180Z",
      "celMatch": "message.type == \"hello-world-type\"",
      "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
      "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
    },
    {...}
  ]
}

Registrierung löschen

Sie haben folgende Möglichkeiten, eine Registrierung 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. Wenn Sie eine Registrierung löschen möchten, rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.

    Zu Pipelines

  2. Klicken Sie auf den Namen der Pipeline, aus der Sie die Registrierung löschen möchten.

    Der Bereich Pipeline-Details wird geöffnet.

  3. Klicken Sie auf  Bearbeiten.

  4. Klicken Sie auf Weiter.

    Der Bereich Registrierungen wird geöffnet.

  5. Klicken Sie für die Registrierung, die Sie löschen möchten, auf das Papierkorbsymbol .

  6. Klicken Sie auf Speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Löschen Sie eine Registrierung mit dem Befehl gcloud beta eventarc enrollments delete:

    gcloud beta eventarc enrollments delete ENROLLMENT_NAME \
          --location=LOCATION

    Ersetzen Sie Folgendes:

REST API

Wenn Sie eine Registrierung löschen möchten, verwenden Sie die Methode projects.locations.enrollments.delete.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • ENROLLMENT_NAME: Der Anzeigename der Registrierung, die Sie löschen möchten, z. B. my_enrollment.
  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • LOCATION: die Region, in der die Registrierung bereitgestellt wird, z. B. us-central1.

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/enrollments/ENROLLMENT_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pipelines auflisten

So können Sie Pipelines auflisten:

  • 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 > Pipelines auf.

Zu Pipelines

Alle Pipelines werden aufgeführt. Optional können Sie die Filter verwenden, um eine Suche einzugrenzen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Listen Sie Registrierungen mit dem Befehl gcloud beta eventarc pipelines list auf:

    gcloud beta eventarc pipelines list \
        --location=LOCATION

    Ersetzen Sie LOCATION durch eine unterstützte Eventarc Advanced-Region.

REST API

Verwenden Sie die Methode projects.locations.pipelines.list, um Pipelines aufzulisten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • LOCATION: die Region, in der die Pipelines erstellt werden, z. B. us-central1.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Instanzen von Pipeline und die Antwort sollte in etwa so aussehen:

{
  "pipelines": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
      "createTime": "2025-01-10T20:32:11.606516066Z",
      "updateTime": "2025-03-26T18:02:34.886616683Z",
      "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
      "destinations": [
        {
          "networkConfig": {
            "networkAttachment": "projects/PROJECT_ID/regions/LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"
          },
          "httpEndpoint": {
            "uri": "HTTP_URI"
          },
          "authenticationConfig": {
            "googleOidc": {
              "serviceAccount": "SERVICE_ACCOUNT_EMAIL"
            }
          }
        }
      ],
      "loggingConfig": {
        "logSeverity": "NONE"
      },
      "retryPolicy": {
        "maxAttempts": 5,
        "minRetryDelay": "1s",
        "maxRetryDelay": "60s"
      }
    },
    {...}
  ]
}

Pipeline löschen

Sie können eine Pipeline auf folgende Arten löschen:

  • In der Google Cloud Console
  • Über die gcloud CLI in Ihrem Terminal oder in Cloud Shell
  • Anfrage an die Eventarc API senden

Das Löschen einer Pipeline kann länger als 10 Minuten dauern.

Console

  1. Wenn Sie eine Pipeline löschen möchten, rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.

    Zu Pipelines

  2. Klicken Sie in der Liste der Pipelines auf das Kästchen neben dem Namen der Pipeline, die Sie löschen möchten.

  3. Klicken Sie auf  Löschen.

  4. Bestätigen Sie den Löschvorgang durch die Eingabe von Delete.

  5. Klicken Sie auf Löschen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Löschen Sie eine Pipeline mit dem Befehl gcloud beta eventarc pipelines delete:

    gcloud beta eventarc pipelines delete PIPELINE_NAME \
          --location=LOCATION

    Ersetzen Sie Folgendes:

REST API

Wenn Sie eine Pipeline löschen möchten, verwenden Sie die Methode projects.locations.pipelines.delete.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PIPELINE_NAME: Der Anzeigename der Pipeline, die Sie löschen möchten, z. B. my_pipeline.
  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • LOCATION: die Region, in der die Pipeline bereitgestellt wird, z. B. us-central1.

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/pipelines/PIPELINE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Nächste Schritte