Ereignisse aus Google-Quellen veröffentlichen

Sie können die Erfassung und Veröffentlichung von Ereignissen aus Google-Quellen für einen bestimmten Eventarc Advanced-Bus aktivieren oder deaktivieren.

Ereignisse aus Google-Quellen werden direkt durch ein nicht vermitteltes Ereignis ausgelöst, z. B. durch die Erstellung einer Cloud Run-Funktion oder eine Statusänderung eines Dataflow-Jobs. Weitere Informationen finden Sie unter Von Eventarc unterstützte Google-Ereignistypen.

Wichtige Hinweise:

  • Es gibt ein Limit von einer GoogleApiSource Ressource pro Google Cloud Projekt.
  • Sie können Ereignisse aus Google-Quellen nur im selben Google Cloud Projekt wie die GoogleApiSource-Ressource veröffentlichen.
  • Sie können Ereignisse in einem Bus veröffentlichen, der sich in einem anderen Google Cloud -Projekt als dem befindet, in dem die GoogleApiSource-Ressource vorhanden ist. Sie können dies mit der gcloud CLI oder durch Senden einer Anfrage an die Eventarc API konfigurieren.

Hinweise

Aktivieren Sie die Eventarc API und die Eventarc Publishing API, falls Sie dies noch nicht getan haben.

Console

APIs aktivieren

gcloud

gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com

Ereignisse aus Google-Quellen aktivieren

Wenn Sie Ereignisse aus Google-Quellen veröffentlichen möchten, müssen Sie eine GoogleApiSource-Ressource erstellen. Diese Ressource stellt ein Abo für Google API-Ereignisse in einem bestimmten Google Cloud Projekt für einen bestimmten Eventarc Advanced-Bus dar.

Sie haben folgende Möglichkeiten, die Veröffentlichung von Ereignissen aus Google-Quellen zu aktivieren:

  • 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. Sie können einen Bus erstellen. Wenn Sie einen Bus aktualisieren, klicken Sie auf  Bearbeiten.

  3. Klicken Sie auf der Seite Bus bearbeiten auf Quelle hinzufügen, um eine Nachrichtenquelle hinzuzufü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 Namen für die Nachrichtenquelle ein.
    2. Klicken Sie auf Erstellen.
  4. Klicken Sie auf Speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Sie können Ereignisse aus Google-Quellen mit dem Befehl gcloud beta eventarc google-api-sources create aktivieren:

    gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \
        --destination-message-bus=BUS_NAME \
        --destination-message-bus-project=BUS_PROJECT_ID

    Ersetzen Sie Folgendes:

    • GOOGLE_API_SOURCE_NAME: die ID oder der vollständig qualifizierte Bezeichner Ihrer GoogleApiSource-Ressource, die ein Abo für Google API-Ereignisse für einen bestimmten Bus darstellt
    • BUS_NAME: Die ID oder der voll qualifizierte Bezeichner des Busses, für den Sie Google API-Ereignisse abonnieren möchten.
    • BUS_PROJECT_ID: die Google Cloud Projekt-ID für den Bus

    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 zum Konfigurieren der Protokollierungsebene, die eine der folgenden sein muss: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Weitere Informationen finden Sie unter LogSeverity.

REST API

Verwenden Sie die Methode projects.locations.googleApiSources.create, um Ereignisse aus Google-Quellen zu aktivieren.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • GOOGLE_API_SOURCE_NAME: Der Anzeigename der GoogleApiSource-Ressource, die ein Abo für Google API-Ereignisse für einen bestimmten Bus darstellt, z. B. my_google_source.
  • 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.
  • DESTINATION: die vollständig qualifizierte Kennung des Eventarc Advanced-Busses, in dem Google-Quellereignisse im Format projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME veröffentlicht werden sollen. Weitere Informationen finden Sie unter Bus zum Weiterleiten von Nachrichten erstellen.
  • ENCRYPT_KEY: Optional. Ein Cloud KMS-Schlüssel, der von der GoogleApiSource-Ressource 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: die Google CloudProjekt-ID, in der die GoogleApiSource-Ressource erstellt werden soll.
  • LOCATION: die unterstützte Region, in der die GoogleApiSource-Ressource 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:

{
  "displayName": "GOOGLE_API_SOURCE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "destination": "DESTINATION",
  "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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Ereignisse aus Google-Quellen im selben Google Cloud Projekt wie dieGoogleApiSource-Ressource werden jetzt erfasst und im Bus veröffentlicht.

Ereignisse aus Google-Quellen deaktivieren

Wenn Sie die Veröffentlichung von Ereignissen aus Google-Quellen in einem bestimmtenGoogle Cloud -Projekt in einem Eventarc Advanced-Bus deaktivieren möchten, müssen Sie die GoogleApiSource-Ressource löschen.

Sie haben folgende Möglichkeiten, die Veröffentlichung von Ereignissen aus Google-Quellen zu deaktivieren:

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

    Zu den Busdetails

  2. Klicken Sie auf  Bearbeiten.

  3. Klicken Sie auf der Seite Bus bearbeiten für die Nachrichtenquelle google-api-source (oder den Namen, den Sie ihr gegeben haben) auf  Ressource löschen, um den Google API-Nachrichtenanbieter zu löschen.

  4. Klicken Sie bei der Aufforderung Ressource löschen auf Bestätigen.

  5. Klicken Sie auf Speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Mit dem Befehl gcloud beta eventarc google-api-sources delete können Sie Ereignisse aus Google-Quellen deaktivieren:

    gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \
        --location=REGION

    Ersetzen Sie Folgendes:

    • GOOGLE_API_SOURCE_NAME: die ID oder voll qualifizierte Kennzeichnung der Ressource GoogleApiSource
    • REGION: der Standort der GoogleApiSource-Ressource

REST API

Wenn Sie Ereignisse aus Google-Quellen deaktivieren möchten, verwenden Sie die Methode projects.locations.googleApiSources.delete.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Google Cloud Projekt-ID, in der die GoogleApiSource-Ressource erstellt wird.
  • LOCATION: die Region, in der die GoogleApiSource-Ressource erstellt wird, z. B. us-central1.
  • GOOGLE_API_SOURCE_NAME: Der Name der GoogleApiSource-Ressource, die 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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Ereignisse aus Google-Quellen im selben Google Cloud -Projekt wie die gelöschte GoogleApiSource-Ressource werden nicht mehr erfasst und veröffentlicht.

Nächste Schritte