Una registrazione identifica un abbonamento a un particolare bus. La registrazione definisce i criteri di corrispondenza che determinano quali messaggi vengono instradati a una destinazione. Specifica anche la pipeline attraverso cui devono essere indirizzati i messaggi corrispondenti. Una pipeline consente di configurare una destinazione di destinazione e offre anche la possibilità di trasformare gli eventi corrispondenti prima di inviarli alla destinazione.
Tieni presente quanto segue:
- Una pipeline e una registrazione devono trovarsi nello stesso Google Cloud progetto. (Il bus può trovarsi nello stesso progetto o in un progetto diverso.)
- Una pipeline può essere utilizzata per più registrazioni.
- Solo una destinazione può essere il target dei messaggi indirizzati da una pipeline.
Prima di iniziare
Prima di configurare una pipeline o una registrazione, devi aver già creato un bus Eventarc Advanced.
Ruoli obbligatori
Un ruolo Identity and Access Management (IAM) contiene un insieme di autorizzazioni che ti consentono di eseguire azioni specifiche sulle risorse Google Cloud . Per creare una pipeline e una registrazione per instradare i messaggi sono necessari i seguenti ruoli e autorizzazioni:
- Per ottenere l'autorizzazione necessaria per creare una pipeline, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Eventarc (
roles/eventarc.developer
) nel progetto della pipeline. Questo ruolo predefinito contiene l'autorizzazioneeventarc.pipelines.create
, necessaria per creare una pipeline. - Per ottenere l'autorizzazione necessaria per creare una registrazione, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Eventarc (
roles/eventarc.developer
) nel progetto di registrazione. Questo ruolo predefinito contiene l'autorizzazioneeventarc.enrollments.create
, necessaria per creare una registrazione. - Per ottenere l'autorizzazione necessaria per utilizzare un bus, chiedi all'amministratore di concederti il ruolo IAM Eventarc Message Bus User (
roles/eventarc.messageBusUser
) nel progetto bus. Questo ruolo predefinito contiene l'autorizzazioneeventarc.buses.use
, che è necessaria per utilizzare un bus.
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso. Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Creare una registrazione e una pipeline
Puoi creare una pipeline e una registrazione 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 , puoi creare sia la pipeline sia la registrazione contemporaneamente dalla pagina Pipeline.
Per creare una registrazione, nella console Google Cloud , vai alla pagina Eventarc > Pipeline.
Fai clic su
Crea pipeline.Nel riquadro Dettagli pipeline, segui questi passaggi:
- Inserisci un nome pipeline. Questo è l'ID della tua pipeline.
- Nell'elenco Regione, seleziona una regione in cui eseguire il deployment della pipeline. La pipeline deve essere creata nella stessa regione del bus. Per maggiori informazioni, consulta Località Eventarc Advanced.
- (Facoltativo) Nell'elenco Gravità log, seleziona la gravità minima per
gli eventi descritti nelle voci di log. Il valore predefinito è Nessuno. Per ulteriori
informazioni, vedi
LogSeverity
. - (Facoltativo) Nella sezione Criteri di ripetizione, puoi modificare la configurazione predefinita per ripetere gli eventi.
- Per la crittografia, accetta il valore predefinito Google-managed encryption key o seleziona Chiave Cloud KMS. Per saperne di più, consulta Utilizzare le chiavi di crittografia gestite dal cliente (CMEK).
Se selezioni Chiave Cloud KMS, procedi nel seguente modo:
Nell'elenco Tipo di chiave, seleziona un metodo per gestire le chiavi.
Puoi gestire le chiavi manualmente o utilizzare Autokey, che ti consente di generare chiavi e chiavi automatizzate on demand. Se l'opzione Autokey è disattivata, significa che non è ancora integrata nel tipo di risorsa attuale.
In Seleziona una chiave gestita dal cliente, seleziona una chiave.
Tieni presente che devi selezionare una regione prima di poter visualizzare le chiavi gestite dal cliente.
(Facoltativo) Per inserire manualmente il nome della risorsa della chiave, nell'elenco Seleziona una chiave gestita dal cliente, fai clic su Inserisci chiave manualmente e inserisci il nome della chiave nel formato specificato.
Se richiesto, concedi il ruolo
cloudkms.cryptoKeyEncrypterDecrypter
all'agente di servizio Eventarc.
(Facoltativo) Per aggiungere etichette, fai clic su Che cosa sono le etichette?
Aggiungi etichetta. Le etichette sono coppie chiave/valore che ti aiutano a organizzare le tue risorseGoogle Cloud . Per saperne di più, vediFai clic su Continua.
Nel riquadro Registrazioni, segui questi passaggi:
- Fai clic su Aggiungi registrazione.
- Inserisci un nome registrazione.
- Nell'elenco Bus, seleziona un bus a cui abbonarti.
Nel campo Espressione CEL, scrivi un'espressione di valutazione utilizzando CEL. Ad esempio:
message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"
Tieni presente che l'espressione predefinita, true, indica che tutti i messaggi vengono indirizzati senza filtri.
Fai clic su Fine.
Puoi aggiungere un'altra registrazione o fare clic su Continua.
(Facoltativo) Nel riquadro Mediazione degli eventi, esegui le seguenti operazioni o fai clic su Continua:
- Seleziona la casella di controllo Applica una trasformazione.
Nell'elenco Formato in entrata, seleziona il formato applicabile.
Tieni presente che quando applichi una trasformazione, devi specificare un formato dei dati in entrata per una pipeline e che tutti gli eventi devono corrispondere a questo formato.
Per i formati Avro o Protobuf, devi specificare uno schema in entrata. (Facoltativo) Puoi caricare uno schema in entrata. Per maggiori informazioni, vedi Formattare gli eventi ricevuti.
Nel campo Espressione CEL, scrivi un'espressione di trasformazione utilizzando CEL.
Fai clic su Continua.
Nel riquadro Destinazione, procedi nel seguente modo:
Nell'elenco Tipo di destinazione, seleziona un tipo di destinazione a cui indirizzare i messaggi. A seconda del tipo di destinazione, procedi nel seguente modo:
Endpoint HTTP: specifica l'URI di destinazione. L'host può essere un indirizzo IP statico indirizzabile da una rete Virtual Private Cloud (VPC) o il nome host Domain Name System (DNS) interno di un servizio risolvibile utilizzando Cloud DNS.
Tieni presente che puoi utilizzare questo tipo di destinazione per scegliere come target una funzione Cloud Run.
Bus Eventarc Advanced: seleziona un bus Eventarc Advanced.
Workflow Workflows: seleziona un workflow Workflows.
Argomento Pub/Sub: seleziona o crea un argomento Pub/Sub.
Servizio Cloud Run (tramite HTTP): seleziona un servizio Cloud Run che riceverà gli eventi come richieste HTTP
POST
inviate al percorso dell'URL radice (/
); se vuoi, puoi specificare un percorso dell'URL relativo sul servizio di destinazione a cui devono essere inviati gli eventi.Job Cloud Run (tramite HTTP): seleziona un job Cloud Run che riceverà gli eventi come richieste HTTP
POST
.
Solo per gli endpoint HTTP (inclusi gli URL Cloud Run), specifica un collegamento di rete.
Un collegamento di rete è una risorsa che consente a una rete VPC producer di avviare connessioni a una rete VPC consumer. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.
Puoi creare un collegamento di rete che accetta automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea il collegamento di rete nella stessa rete e regione contenente l'endpoint di destinazione.
Se indirizzi i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, assicurati che l'accesso privato Google sia abilitato nella subnet utilizzata nell'allegato di rete. In caso contrario, l'indirizzo DNS non può essere risolto.
Se applicabile, seleziona un formato nell'elenco Formato in uscita.
Tieni presente che se un formato dei dati in entrata non è specificato per una pipeline, non è possibile impostare un formato in uscita.
Se applicabile, applica un binding del messaggio. Per maggiori informazioni, vedi Definire un binding dei messaggi.
Per attivare l'autenticazione, seleziona la casella di controllo Attiva autenticazione.
Nell'elenco Intestazione di autenticazione, seleziona il tipo di token da generare e allegare come intestazione
Authorization
nella richiesta HTTP:Un token OAuth deve essere utilizzato in genere solo quando si chiamano le API di Google ospitate su
*.googleapis.com
. (Facoltativo) Specifica l'ambito di questo token; in caso contrario, il valore predefinito èhttps://www.googleapis.com/auth/cloud-platform
. Per i servizi Google Cloud , è una best practice utilizzare l'ambitohttps://www.googleapis.com/auth/cloud-platform
, che include tutte le API Google Cloud , insieme a Identity and Access Management (IAM), che fornisce controllo dell'accesso granulare.Tieni presente che tutte le richieste a un altro bus Eventarc Advanced, Pub/Sub o Workflows devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno dei service account autorizzati.
Un token OIDC può essere utilizzato in molti scenari, inclusi gli endpoint in cui intendi convalidare il token autonomamente. Inoltre, specifica il pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri della richiesta.
Tieni presente che Cloud Run esegue un controllo IAM su ogni richiesta e puoi utilizzare l'autorizzazione
run.routes.invoke
per configurare chi può accedere al tuo servizio Cloud Run in uno dei seguenti modi:Concedi l'autorizzazione per selezionare service account o gruppi per consentire l'accesso al servizio. Tutte le richieste devono avere un'intestazione di autorizzazione HTTP contenente un token OpenID Connect firmato da Google per uno degli account di servizio autorizzati.
Concedi l'autorizzazione a allUsers per consentire l'accesso non autenticato.
Per saperne di più, consulta Controllo dell'accesso per Cloud Run.
Scopri di più sui tipi di token.
Nell'elenco Service account, seleziona il account di servizio che richiamerà il servizio di destinazione. In alternativa, puoi creare un nuovo account di servizio.
Specifica l'indirizzo email del account di servizio IAM associato alla pipeline e a cui hai precedentemente concesso ruoli specifici richiesti da Eventarc Advanced.
Fai clic su Crea.
gcloud
Quando utilizzi gcloud CLI, crea prima la pipeline, poi crea la registrazione utilizzando i comandi appropriati.
Pipeline
Apri un terminale.
Crea una pipeline utilizzando il comando
gcloud beta eventarc pipelines create
:gcloud beta eventarc pipelines create PIPELINE_NAME \ --destinations=DESTINATION_KEY \ --location=LOCATION
Sostituisci quanto segue:
PIPELINE_NAME
: l'ID della pipeline o un nome completoDESTINATION_KEY
: una o più coppie chiave-valore per configurare una destinazione per la pipelineDevi impostare una sola delle seguenti chiavi:
http_endpoint_uri
: un URI di destinazione. L'host può essere un indirizzo IP statico indirizzabile da una rete Virtual Private Cloud (VPC) o il nome host Domain Name System (DNS) interno di un servizio risolvibile utilizzando Cloud DNS. Se vuoi, puoi anche impostarehttp_endpoint_message_binding_template
per specificare un binding del messaggio.Tieni presente che puoi utilizzare questa chiave per scegliere come target una funzione Cloud Run, un job Cloud Run o un servizio Cloud Run che riceverà eventi come richieste HTTP
POST
.message_bus
: l'ID di un bus Eventarc Advanced.pubsub_topic
: l'ID di un argomento Pub/Sub.workflow
: l'ID di un workflow di Workflows.
Solo per
http_endpoint_uri
(inclusi gli URL Cloud Run), devi impostare la seguente chiave:network_attachment
: una risorsa che consente a una rete VPC producer di avviare connessioni a una rete VPC consumer. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.Puoi creare un collegamento di rete che accetta automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea l'allegato di rete nella stessa rete e nella stessa regione contenente la risorsa di destinazione.
Se indirizzi i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, assicurati che l'accesso privato Google sia abilitato nella subnet utilizzata nell'allegato di rete; in caso contrario, l'indirizzo DNS non può essere risolto.
Per abilitare l'autenticazione, puoi impostare una delle seguenti chiavi:
google_oidc_authentication_service_account
: l'email dell'account di servizio utilizzata per generare un token OIDC che può essere utilizzato per molti scenari, inclusi gli endpoint in cui intendi convalidare il token personalmente. Se vuoi, puoi impostaregoogle_oidc_authentication_audience
per specificare il pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri della richiesta.Tieni presente che Cloud Run esegue un controllo IAM su ogni richiesta e puoi utilizzare l'autorizzazione
run.routes.invoke
per configurare chi può accedere al tuo servizio Cloud Run in uno dei seguenti modi:Concedi l'autorizzazione per selezionare service account o gruppi per consentire l'accesso al servizio. Tutte le richieste devono avere un'intestazione di autorizzazione HTTP contenente un token OpenID Connect firmato da Google per uno degli account di servizio autorizzati.
Concedi l'autorizzazione a allUsers per consentire l'accesso non autenticato.
Per saperne di più, consulta Controllo dell'accesso per Cloud Run .
oauth_token_authentication_service_account
: l'email dell'account di servizio utilizzata per generare un token OAuth, che in genere deve essere utilizzato solo quando si chiamano le API di Google ospitate su*.googleapis.com
. Se vuoi, puoi impostareoauth_token_authentication_scope
per specificare l'ambito di questo token; in caso contrario, il valore predefinito èhttps://www.googleapis.com/auth/cloud-platform
. Per i servizi Google Cloud , è una best practice utilizzare l'ambitohttps://www.googleapis.com/auth/cloud-platform
, che include tutte le API Google Cloud , insieme a Identity and Access Management (IAM), che fornisce controllo dell'accesso granulare.Tieni presente che tutte le richieste a un altro bus Eventarc Advanced, Pub/Sub o Workflows devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno dei service account autorizzati.
Scopri di più sui tipi di token.
(Facoltativo) Puoi impostare uno dei seguenti tasti:
output_payload_format_avro_schema_definition
output_payload_format_json
output_payload_format_protobuf_schema_definition
Tieni presente che se imposti un formato di output, devi specificare anche un formato di input (vedi i seguenti flag
input-payload-format-*
).
(Facoltativo) Se
http_endpoint_uri
non viene utilizzato come chiave di destinazione, puoi impostare le seguenti chiavi:project
: l'ID progetto della risorsa di destinazione; per impostazione predefinita, viene utilizzato l'ID progetto della pipeline. Google Cloudlocation
: la posizione della risorsa di destinazione; per impostazione predefinita, viene utilizzata la posizione della pipeline.
LOCATION
: un'area geografica Eventarc Advanced supportataIn alternativa, puoi impostare la proprietà di posizione di gcloud CLI:
gcloud config set eventarc/location LOCATION
(Facoltativo) Puoi 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
.--mediations
per applicare una trasformazione;transformation_template
è l'unico modello supportato e per pipeline è supportata una sola mediazione; ad esempio:--mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'
Tieni presente che, se applichi una trasformazione, devi utilizzare uno dei seguenti flag per specificare un formato di input.
Uno dei seguenti per specificare un formato di input:
--input-payload-format-avro-schema-definition
--input-payload-format-json
--input-payload-format-protobuf-schema-definition
--max-retry-attempts
,--max-retry-delay
e--min-retry-delay
a eventi di nuovi tentativi
Ad esempio:
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
Per maggiori dettagli ed esempi, consulta la documentazione di gcloud CLI.
Registrazione
Apri un terminale.
Crea una registrazione utilizzando il comando
gcloud beta eventarc enrollments create
: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
Sostituisci quanto segue:
ENROLLMENT_NAME
: l'ID della registrazione o un nome completoMATCH_EXPRESSION
: l'espressione di corrispondenza per questa registrazione utilizzando CEL, ad esempio,"message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
PIPELINE_NAME
: l'ID pipeline di destinazione o il relativo nome completo per questa registrazioneBUS_NAME
: l'ID del bus Eventarc Advanced o il suo nome completoPROJECT_ID
: l' Google Cloud ID progetto per il busLOCATION
: una regione Eventarc Advanced supportataIn alternativa, puoi impostare la proprietà di posizione di gcloud CLI:
gcloud config set eventarc/location LOCATION
(Facoltativo) Puoi utilizzare il seguente flag:
--async
per tornare immediatamente dal comando, senza attendere il completamento dell'operazione in corso
Ad esempio:
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
API REST
Quando invii richieste all'API Eventarc, crea prima la pipeline e poi la registrazione.
Pipeline
Per creare una pipeline, utilizza il
metodo
projects.locations.pipelines.create
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
name
: il nome completo della risorsa della pipeline nel formatoprojects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto Google Cloud per il progetto della pipelineLOCATION
: la regione in cui deve essere eseguito il deployment della pipeline, ad esempious-central1
PIPELINE_NAME
: il nome della pipeline
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.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
.destinations
: la destinazione a cui verranno inoltrati i messaggi. È supportata una sola destinazione:httpEndpoint
,messageBus
,topic
oworkflow
. Per ulteriori informazioni, consulta l'Destination
target. Ad esempio, sostituisci quanto segue:HTTP_URI
: un URI di destinazione. L'host può essere un indirizzo IP statico indirizzabile da una rete Virtual Private Cloud (VPC) o il nome host DNS (Domain Name System) interno di un servizio risolvibile utilizzando Cloud DNS. Se vuoi, puoi anche impostaremessageBindingTemplate
per specificare un binding del messaggio.networkAttachment
: applicabile solo ahttpEndpoint
(inclusi gli URL Cloud Run). Il nome completo della risorsa di un collegamento di rete in questo formato:projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME
. Un collegamento di rete è una risorsa che consente a una rete Virtual Private Cloud producer di avviare connessioni a una rete VPC consumer e deve essere specificato. Per pubblicare eventi, Eventarc Advanced utilizza il collegamento di rete per stabilire una connessione all'endpoint ospitato in una rete VPC.Puoi creare un collegamento di rete che accetta automaticamente le connessioni da qualsiasi interfaccia Private Service Connect che fa riferimento al collegamento di rete. Crea il collegamento di rete nella stessa rete e nella stessa regione contenenti la risorsa di destinazione.
Se indirizzi i messaggi a una destinazione Google utilizzando un indirizzo DNS, ad esempio Cloud Run, assicurati che l'accesso privato Google sia abilitato sulla subnet utilizzata nell'allegato di rete; in caso contrario, l'indirizzo DNS non può essere risolto.
SERVICE_ACCOUNT_EMAIL
: il nome dell'email dell'account di servizio utilizzato per generare un token OIDC che può essere utilizzato in molti scenari, inclusi gli endpoint in cui intendi convalidare il token stesso. Se vuoi, puoi impostareaudience
per specificare il pubblico a cui è destinato questo token. In genere, deve corrispondere all'URL della pipeline di destinazione. Se non specificato, viene utilizzato l'intero URL, inclusi eventuali parametri della richiesta.In alternativa, puoi utilizzare
oauthToken
per specificare l'email del account di servizio utilizzata per generare un token OAuth che in genere deve essere utilizzato solo quando si chiamano le API di Google ospitate su*.googleapis.com
. Se vuoi, puoi impostarescope
per specificare l'ambito di questo token; in caso contrario, il valore predefinito èhttps://www.googleapis.com/auth/cloud-platform
. Per i servizi Google Cloud, è una best practice utilizzare l'ambitohttps://www.googleapis.com/auth/cloud-platform
, che include tutte le API Google Cloud , insieme a Identity and Access Management (IAM), che fornisce controllo dell'accesso granulare.Tieni presente che tutte le richieste a un altro bus Eventarc Advanced, Pub/Sub o Workflows devono avere un'intestazione di autorizzazione HTTP contenente un token OAuth firmato da Google per uno dei service account autorizzati.
Scopri di più sui tipi di token.
Corpo JSON della richiesta:
{ "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"}}}] }
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/pipelines/PIPELINE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Registrazione
Per creare una registrazione, utilizza il
metodo
projects.locations.enrollments.create
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
ENROLLMENT_NAME
: il nome visualizzato della registrazione, ad esempiomy_enrollment
.MATCH_EXPRESSION
: un'espressione CEL che identifica a quali messaggi si applica questa registrazione. Ad esempio:message.type == 'hello-world-type'
.destination
: il nome completo della risorsa della pipeline di destinazione nel formatoprojects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME
.Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto Google Cloud per il progetto della pipelineLOCATION
: la regione in cui viene eseguito il deployment della pipeline, ad esempious-central1
.PIPELINE_NAME
: il nome della pipeline
message_bus
: il nome completo della risorsa del bus che identifica l'origine dei messaggi nel formatoprojects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME
.Sostituisci quanto segue:
BUS_PROJECT_ID
: l'ID progetto Google Cloud per il progetto busBUS_LOCATION
: la regione in cui viene eseguito il deployment del bus, ad esempious-central1
BUS_NAME
: il nome del bus di messaggi
Corpo JSON della richiesta:
{ "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" }
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/enrollments/ENROLLMENT_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Elenco registrazioni
Puoi elencare le registrazioni nei seguenti modi:
- Nella console Google Cloud
- Utilizzando gcloud CLI nel terminale o in Cloud Shell
Inviando una richiesta all'API Eventarc
Console
Per elencare le registrazioni per una pipeline specifica, nella console Google Cloud , vai alla pagina Eventarc > Pipeline.
Fai clic sul nome della pipeline per cui vuoi elencare le registrazioni.
Viene visualizzata la pagina Dettagli pipeline.
Nella scheda Registrazioni sono elencate tutte le registrazioni associate alla pipeline.
gcloud
Apri un terminale.
Elenca le registrazioni utilizzando il comando
gcloud beta eventarc enrollments list
:gcloud beta eventarc enrollments list \ --location=LOCATION
Sostituisci
LOCATION
con una regione Eventarc Advanced supportata.
API REST
Per elencare le registrazioni, utilizza il
metodo projects.locations.enrollments.list
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui vengono create le registrazioni, ad esempious-central1
.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene istanze di
Enrollment
e la risposta dovrebbe essere simile alla seguente:
{ "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" }, {...} ] }
Eliminare una registrazione
Puoi eliminare una registrazione nei seguenti modi:
- Nella console Google Cloud
- Utilizzando gcloud CLI nel terminale o in Cloud Shell
Inviando una richiesta all'API Eventarc
Console
Per eliminare una registrazione, nella console Google Cloud , vai alla pagina Eventarc > Pipeline.
Fai clic sul nome della pipeline da cui vuoi eliminare la registrazione.
Si apre il riquadro Dettagli pipeline.
Fai clic su
Modifica.Fai clic su Continua.
Si apre il riquadro Registrazioni.
Per la registrazione che vuoi eliminare, fai clic sull'icona
Elimina.Fai clic su Salva.
gcloud
Apri un terminale.
Elimina una registrazione utilizzando il comando
gcloud beta eventarc enrollments delete
:gcloud beta eventarc enrollments delete ENROLLMENT_NAME \ --location=LOCATION
Sostituisci quanto segue:
ENROLLMENT_NAME
: l'ID della registrazione o un nome completoLOCATION
: l'area geografica Eventarc Advanced supportata della registrazione
API REST
Per eliminare una registrazione, utilizza il
metodo projects.locations.enrollments.delete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
ENROLLMENT_NAME
: il nome visualizzato della registrazione che vuoi eliminare, ad esempiomy_enrollment
.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui viene eseguito il deployment della registrazione, ad esempious-central1
.
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/enrollments/ENROLLMENT_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Elenca pipeline
Puoi elencare le pipeline nei seguenti modi:
- Nella console Google Cloud
- Utilizzando gcloud CLI nel terminale o in Cloud Shell
Inviando una richiesta all'API Eventarc
Console
Nella Google Cloud console, vai alla pagina Eventarc > Pipeline.
Vengono elencate tutte le pipeline. Se vuoi, puoi utilizzare il
Filtro per limitare una ricerca.gcloud
Apri un terminale.
Elenca le registrazioni utilizzando il comando
gcloud beta eventarc pipelines list
:gcloud beta eventarc pipelines list \ --location=LOCATION
Sostituisci
LOCATION
con una regione Eventarc Advanced supportata.
API REST
Per elencare le pipeline, utilizza il metodo
projects.locations.pipelines.list
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui vengono create le pipeline, ad esempious-central1
.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene istanze di
Pipeline
e la risposta dovrebbe essere simile alla seguente:
{ "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" } }, {...} ] }
Elimina una pipeline
Puoi eliminare una pipeline nei seguenti modi:
- Nella console Google Cloud
- Utilizzando gcloud CLI nel terminale o in Cloud Shell
- Inviando una richiesta all'API Eventarc
Tieni presente che l'eliminazione di una pipeline potrebbe richiedere più di 10 minuti.
Console
Per eliminare una pipeline, nella console Google Cloud , vai alla pagina Eventarc > Pipeline.
Nell'elenco delle pipeline, seleziona la casella di controllo accanto al nome della pipeline che vuoi eliminare.
Fai clic su
Elimina.Conferma l'eliminazione inserendo
Delete
.Fai clic su Elimina.
gcloud
Apri un terminale.
Elimina una pipeline utilizzando il comando
gcloud beta eventarc pipelines delete
:gcloud beta eventarc pipelines delete PIPELINE_NAME \ --location=LOCATION
Sostituisci quanto segue:
PIPELINE_NAME
: l'ID della pipeline o un nome completoLOCATION
: l'area geografica Eventarc Advanced supportata della pipeline
API REST
Per eliminare una pipeline, utilizza il
metodo projects.locations.pipelines.delete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PIPELINE_NAME
: il nome visualizzato della pipeline che vuoi eliminare, ad esempiomy_pipeline
.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui viene eseguito il deployment della pipeline, ad esempious-central1
.
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/pipelines/PIPELINE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }