Puoi attivare o disattivare la raccolta e la pubblicazione di eventi da origini Google per un bus Eventarc Advanced specifico.
Gli eventi provenienti da origini Google vengono attivati direttamente da un evento non mediato, ad esempio la creazione di una funzione Cloud Run o una modifica dello stato di un job Dataflow. Per ulteriori informazioni, vedi 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 da origini Google solo nello stesso Google Cloud progetto
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 configurare questa impostazione utilizzando gcloud CLI o inviando una richiesta all'API Eventarc.
Prima di iniziare
Se non l'hai ancora fatto, abilita l'API Eventarc e l' API Eventarc Publishing.
Console
gcloud
gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com
Attivare gli eventi dalle origini Google
Per pubblicare eventi provenienti da origini Google, devi creare una risorsa
GoogleApiSource
. Questa risorsa rappresenta un abbonamento agli eventi API di Google in un progetto Google Cloud specifico per un particolare bus Eventarc Advanced.
Puoi attivare la pubblicazione di eventi da 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 di origine messaggio diverso. - 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 abilitare gli eventi dalle 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 completo della risorsaGoogleApiSource
che rappresenta un abbonamento agli eventi API di Google per un bus specificoBUS_NAME
: l'ID o l'identificatore completo del bus per il quale vuoi abbonarti agli eventi dell'API GoogleBUS_PROJECT_ID
: l' Google Cloud ID progetto per il bus
(Facoltativo) Puoi anche utilizzare i seguenti flag:
--async
per tornare 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,vengono utilizzati Google-owned and managed keys .--logging-config
per configurare il livello di logging, che deve essere uno dei seguenti:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Per ulteriori informazioni, vediLogSeverity
.
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 API di Google per un bus specifico, ad esempiomy_google_source
.LABEL_KEY
eLABEL_VALUE
: facoltativi. Una mappa di coppie chiave-valore di etichette che ti aiutano a organizzare le tue Google Cloud risorse. Per saperne di più, vedi Che cosa sono le etichette?ANNOTATION_KEY
eANNOTATION_VALUE
: facoltativi. Una mappa di coppie chiave-valore di annotazione di testo in formato libero. Puoi utilizzarli per allegare informazioni arbitrarie associate 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 maggiori informazioni, vedi 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'ID progetto in cui creare la risorsaGoogleApiSource
. Google CloudLOCATION
: 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 tra:NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Il valore predefinito èNONE
. Per ulteriori informazioni, vediLogSeverity
.
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 risorsaGoogleApiSource
vengono ora raccolti e pubblicati nel bus.
Disattivare gli eventi dalle origini Google
Per disattivare la pubblicazione di eventi dalle origini Google in un progettoGoogle Cloud specifico a un bus Eventarc Advanced, devi eliminare la risorsa GoogleApiSource
.
Puoi disattivare la pubblicazione di eventi da origini Google nei seguenti modi:
- Nella console Google Cloud
- Utilizzando gcloud CLI 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 dei messaggi google-api-source (o il nome che le hai assegnato).Al prompt Elimina risorsa, fai clic su Conferma.
Fai clic su Salva.
gcloud
Apri un terminale.
Puoi disattivare gli eventi provenienti da 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 completo 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'ID progetto in cui viene creata la risorsaGoogleApiSource
. Google CloudLOCATION
: 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.