Puoi attivare o disattivare la raccolta e la pubblicazione di eventi dalle origini Google per un bus Eventarc Advanced specifico.
Gli eventi provenienti dalle origini Google vengono attivati direttamente da un evento non mediato, ad esempio la creazione di una funzione Cloud Run o la modifica dello stato di un job Dataflow. Per ulteriori informazioni, consulta Tipi di eventi Google supportati da Eventarc.
Tieni presente quanto segue:
- Esiste un limite di una risorsa
GoogleApiSource
per progetto Google Cloud. - Puoi pubblicare eventi provenienti da origini Google solo nello stesso progetto Google Cloud della risorsa
GoogleApiSource
. - Puoi pubblicare eventi in un bus che si trova in un progetto Google Cloud diverso da quello in cui esiste la risorsa
GoogleApiSource
. Puoi configurarlo utilizzando gcloud CLI o inviando una richiesta all'API Eventarc.
Attivare gli eventi provenienti da origini Google
Per pubblicare eventi provenienti da origini Google, devi creare una risorsa
GoogleApiSource
. Questa risorsa rappresenta un abbonamento agli eventi dell'API Google in un progetto Google Cloud specifico per un determinato bus Eventarc Advanced.
Puoi attivare la pubblicazione di eventi dalle origini Google nei seguenti modi:
- Nella console Google Cloud
- Utilizzando Google Cloud CLI nel terminale o in Cloud Shell
Inviando una richiesta all'API Eventarc
Console
Nella console Google Cloud, vai alla pagina Eventarc > Bus.
Puoi creare un bus o, se stai aggiornando un bus, fai clic su Modifica.
Nella pagina Modifica bus, per aggiungere un'origine messaggio, fai clic su
Aggiungi origine.- Nel riquadro Aggiungi origine messaggio, per il fornitore di messaggi dell'API Google, accetta il valore predefinito
google-api-source
o inserisci un nome diverso per l'origine messaggio. - Fai clic su Crea.
- Nel riquadro Aggiungi origine messaggio, per il fornitore di messaggi dell'API Google, accetta il valore predefinito
Fai clic su Salva.
gcloud
Apri un terminale.
Puoi attivare gli eventi provenienti da origini Google utilizzando il comando
gcloud beta eventarc google-api-sources create
:gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
Sostituisci quanto segue:
GOOGLE_API_SOURCE_NAME
: l'ID o l'identificatore completamente qualificato della risorsaGoogleApiSource
che rappresenta un abbonamento agli eventi dell'API di Google per un determinato busBUS_NAME
: l'ID o l'identificatore completamente qualificato del bus per cui vuoi iscriverti agli eventi dell'API di GoogleBUS_PROJECT_ID
: l' Google Cloud ID progetto per il bus
(Facoltativo) Puoi anche utilizzare i seguenti flag:
--async
per uscire immediatamente dal comando, senza attendere il completamento dell'operazione in corso.--crypto-key
per specificare il nome completo di una chiave di crittografia gestita dal cliente; se non specificato, Google-owned and managed keys vengono utilizzati.--logging-config
per configurare il livello di logging, che deve essere uno tra i seguenti:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Per ulteriori informazioni, consultaLogSeverity
.
API REST
Per attivare gli eventi provenienti da origini Google, utilizza il metodo
projects.locations.googleApiSources.create
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
GOOGLE_API_SOURCE_NAME
: il nome visualizzato della risorsaGoogleApiSource
che rappresenta un abbonamento agli eventi dell'API Google per un determinato bus, ad esempiomy_google_source
.LABEL_KEY
eLABEL_VALUE
: facoltativi. Una mappa di coppie chiave-valore delle etichette che ti aiutano a organizzare le tue Google Cloud risorse. Per saperne di più, consulta Che cosa sono le etichette?ANNOTATION_KEY
eANNOTATION_VALUE
: facoltativi. Una mappa di coppie chiave-valore di annotazioni di testo in formato libero. Puoi utilizzarli per associare informazioni arbitrarie alla risorsa. Per ulteriori informazioni, consulta la sezione Annotazioni.DESTINATION
: l'identificatore completo del bus Eventarc Advanced a cui devono essere pubblicati gli eventi di origine Google nel formatoprojects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
. Per ulteriori informazioni, consulta Creare un bus per instradare i messaggi.ENCRYPT_KEY
: facoltativo. Una chiave Cloud KMS che la risorsaGoogleApiSource
deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.PROJECT_ID
: l' Google Cloud ID progetto in cui creare la risorsaGoogleApiSource
.LOCATION
: la regione supportata in cui creare la risorsaGoogleApiSource
, ad esempious-central1
.LOG_SEVERITY
: facoltativo. La gravità minima dell'evento descritto in una voce di log. Uno dei seguenti:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Il valore predefinito èNONE
. Per ulteriori informazioni, consultaLogSeverity
.
Corpo JSON della richiesta:
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
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 }
Gli eventi provenienti da origini Google nello stesso progetto Google Cloud della risorsa GoogleApiSource
vengono ora raccolti e pubblicati nel bus.
Disattivare gli eventi provenienti dalle origini Google
Per disattivare la pubblicazione di eventi provenienti da origini Google in un progetto Google Cloud specifico in un bus Eventarc Advanced, devi eliminare la risorsa GoogleApiSource
.
Puoi disattivare la pubblicazione di eventi dalle origini Google nei seguenti modi:
- Nella console Google Cloud
- Utilizzando l'interfaccia a riga di comando gcloud nel terminale o in Cloud Shell
Inviando una richiesta all'API Eventarc
Console
Nella console Google Cloud, vai alla pagina Eventarc > Dettagli bus.
Fai clic su
Modifica.Nella pagina Modifica bus, per eliminare il provider di messaggi dell'API Google, fai clic su
Elimina risorsa per l'origine messaggio google-api-source (o il nome che hai assegnato).Al prompt Elimina risorsa, fai clic su Conferma.
Fai clic su Salva.
gcloud
Apri un terminale.
Puoi disattivare gli eventi provenienti dalle origini Google utilizzando il comando
gcloud beta eventarc google-api-sources delete
:gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \ --location=REGION
Sostituisci quanto segue:
GOOGLE_API_SOURCE_NAME
: l'ID o l'identificatore completamente qualificato della risorsaGoogleApiSource
REGION
: la posizione della risorsaGoogleApiSource
API REST
Per disattivare gli eventi provenienti da origini Google, utilizza il metodo
projects.locations.googleApiSources.delete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l' Google Cloud ID progetto in cui viene creata la risorsaGoogleApiSource
.LOCATION
: la regione in cui viene creata la risorsaGoogleApiSource
, ad esempious-central1
.GOOGLE_API_SOURCE_NAME
: il nome della risorsaGoogleApiSource
che vuoi eliminare.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
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 }
Gli eventi provenienti da origini Google nello stesso progetto Google Cloud della risorsa GoogleApiSource
eliminata non vengono più raccolti e pubblicati.