Sie können die Erfassung und Veröffentlichung von Ereignissen aus Google-Quellen für einen bestimmten Eventarc Advanced-Bus aktivieren oder deaktivieren.
Ereignisse von Google-Quellen werden direkt durch ein nicht vermitteltes Ereignis ausgelöst, z. B. die Erstellung einer Cloud Run-Funktion oder eine Statusänderung bei einem Dataflow-Job. Weitere Informationen finden Sie unter Von Eventarc unterstützte Google-Ereignistypen.
Wichtige Hinweise:
- Pro Google Cloud-Projekt ist nur eine
GoogleApiSource
-Ressource zulässig. - 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.
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
Durch Senden einer Anfrage an die Eventarc API
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Sie können einen Bus erstellen. Wenn Sie einen Bus aktualisieren möchten, klicken Sie auf Bearbeiten.
Wenn Sie auf der Seite Bus bearbeiten eine Nachrichtenquelle hinzufügen möchten, klicken Sie auf
Quelle hinzufügen.- Akzeptieren 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. - Klicken Sie auf Erstellen.
- Akzeptieren Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter den Standardwert
Klicken Sie auf Speichern.
Öffnen Sie ein Terminalfenster.
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 vollständig qualifizierte Kennung IhrerGoogleApiSource
-Ressource, die ein Abo für Google API-Ereignisse für einen bestimmten Bus darstelltBUS_NAME
: Die ID oder die voll qualifizierte Kennzeichnung des Busses, für den Sie Google API-Ereignisse abonnieren möchtenBUS_PROJECT_ID
: die Google Cloud Projekt-ID für den Bus
Optional: Sie können auch die folgenden Flags verwenden:
--async
, um sofort vom Befehl zurückzukehren, ohne auf den Abschluss des laufenden Vorgangs zu warten.--crypto-key
, um den voll qualifizierten Namen eines vom Kunden verwalteten Verschlüsselungsschlüssels anzugeben. Wenn nicht angegeben, wird Google-owned and managed keys verwendet.--logging-config
, um die Protokollierungsebene zu konfigurieren. Sie muss einen der folgenden Werte haben:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Weitere Informationen finden Sie unterLogSeverity
.
Verwenden Sie die Methode projects.locations.googleApiSources.create
, um Ereignisse aus Google-Quellen zu aktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Der Anzeigename derGOOGLE_API_SOURCE_NAME GoogleApiSource
-Ressource, die ein Abo für Google API-Ereignisse für einen bestimmten Bus darstellt, z. B.my_google_source
.
undLABEL_KEY
: Optional. Eine Zuordnung von Labelschlüsseln und ‑werten, mit der Sie Ihre Google Cloud Ressourcen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?LABEL_VALUE
undANNOTATION_KEY
: Optional. Eine Zuordnung von Anmerkungsschlüssel/Wert-Paaren im freien Format. Sie können damit beliebige Informationen an die Ressource anhängen. Weitere Informationen finden Sie unter Anmerkungen.ANNOTATION_VALUE
: die vollständig qualifizierte Kennung des Eventarc Advanced-Busses, an den Google-Quell-Ereignisse im FormatDESTINATION projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
gesendet werden sollen. Weitere Informationen finden Sie unter Bus zum Weiterleiten von Nachrichten erstellen.
: Optional. Ein Cloud KMS-Schlüssel, den dieENCRYPT_KEY GoogleApiSource
-Ressource für die Datenverschlüsselung im Formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
verwenden soll. Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
: die Google CloudProjekt-ID, in der diePROJECT_ID GoogleApiSource
-Ressource erstellt werden soll.
: die unterstützte Region, in der dieLOCATION GoogleApiSource
-Ressource erstellt werden soll, z. B.us-central1
.
: Optional. Der minimale Schweregrad des Ereignisses, das in einem Logeintrag beschrieben ist. Eine der folgenden Möglichkeiten:LOG_SEVERITY NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Der Standardwert istNONE
. Weitere Informationen finden Sie unterLogSeverity
.
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:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "displayName": "GOOGLE_API_SOURCE_NAME ", "labels": {"LABEL_KEY ":"LABEL_VALUE "}, "annotations": {"ANNOTATION_KEY ":"ANNOTATION_VALUE "}, "destination": "DESTINATION ", "cryptoKeyName": "ENCRYPT_KEY ", "loggingConfig": {"logSeverity":"LOG_SEVERITY "} } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources?googleApiSourceId=GOOGLE_API_SOURCE_NAME "
PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "displayName": "GOOGLE_API_SOURCE_NAME ", "labels": {"LABEL_KEY ":"LABEL_VALUE "}, "annotations": {"ANNOTATION_KEY ":"ANNOTATION_VALUE "}, "destination": "DESTINATION ", "cryptoKeyName": "ENCRYPT_KEY ", "loggingConfig": {"logSeverity":"LOG_SEVERITY "} } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources?googleApiSourceId=GOOGLE_API_SOURCE_NAME " | Select-Object -Expand Content
APIs Explorer (Browser)
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
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 die GoogleApiSource
-Ressource werden jetzt erfasst und auf dem Bus veröffentlicht.
Ereignisse aus Google-Quellen deaktivieren
Wenn Sie die Veröffentlichung von Ereignissen aus Google-Quellen in einem bestimmten Google Cloud-Projekt in einem Eventarc Advanced-Bus deaktivieren möchten, müssen Sie die Ressource GoogleApiSource
löschen.
So können Sie die Veröffentlichung von Ereignissen aus Google-Quellen deaktivieren:
- In der Google Cloud Console
- Über die gcloud CLI in Ihrem Terminal oder in Cloud Shell
Durch Senden einer Anfrage an die Eventarc API
Rufen Sie in der Google Cloud Console die Seite Eventarc > Busdetails auf.
Klicken Sie auf
Bearbeiten.Wenn Sie den Google API-Nachrichtenanbieter auf der Seite Bus bearbeiten löschen möchten, klicken Sie für die Nachrichtenquelle google-api-source (oder den von Ihnen festgelegten Namen) auf
Ressource löschen.Klicken Sie bei der Aufforderung Ressource löschen auf Bestätigen.
Klicken Sie auf Speichern.
Öffnen Sie ein Terminalfenster.
Sie können Ereignisse aus Google-Quellen mit dem Befehl
gcloud beta eventarc google-api-sources delete
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 derGoogleApiSource
-RessourceREGION
: der Speicherort derGoogleApiSource
-Ressource
Verwenden Sie die Methode projects.locations.googleApiSources.delete
, um Ereignisse aus Google-Quellen zu deaktivieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: die Google Cloud Projekt-ID, in der diePROJECT_ID GoogleApiSource
-Ressource erstellt wird.
: die Region, in der dieLOCATION GoogleApiSource
-Ressource erstellt wird, z. B.us-central1
.
: der Name derGOOGLE_API_SOURCE_NAME GoogleApiSource
-Ressource, die Sie löschen möchten.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources/GOOGLE_API_SOURCE_NAME "
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources/GOOGLE_API_SOURCE_NAME " | Select-Object -Expand Content
APIs Explorer (Browser)
Öffnen Sie die Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
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
- Ereignisse direkt veröffentlichen
- Empfangene Ereignisse formatieren
- Empfangene Ereignisse transformieren