Inoltra gli eventi a un endpoint HTTP interno in una rete VPC

Un trigger Eventarc dichiara il tuo interesse per un determinato evento o per un insieme di eventi. Puoi configurare il routing degli eventi specificando i filtri per l'attivatore, tra cui l'origine dell'evento e la destinazione di destinazione.

Eventarc pubblica gli eventi nel formato CloudEvents tramite una richiesta HTTP al destinatario degli eventi.

Queste istruzioni mostrano come configurare il routing degli eventi per tutti i tipi di eventi a un endpoint HTTP interno in una rete Virtual Private Cloud (VPC). Per configurare l'attivatore, devi anche fornire un ID collegamento di rete.

  • I tipi di eventi supportati sono:

    • Eventi diretti: attivati da un evento non mediato, ad esempio un aggiornamento di un oggetto in un bucket Cloud Storage o un messaggio pubblicato in un argomento Pub/Sub.

    • Eventi Cloud Audit Logs: attivati quando viene generato un log tramite Cloud Audit Logs.

    • Eventi di terze parti: attivati dagli eventi di un provider non Google che offre un'origine Eventarc.

  • L'endpoint HTTP interno può essere un indirizzo IP interno o un nome DNS completo (FQDN) per qualsiasi endpoint HTTP nella rete Virtual Private Cloud. Di seguito sono riportati due esempi di possibili destinazioni degli eventi:

    • Un'istanza di macchina virtuale (VM) Compute Engine: le istanze Compute Engine possono eseguire le immagini pubbliche per Linux e Windows Server fornite da Google, nonché immagini personalizzate private che puoi creare o importare dai tuoi sistemi esistenti. Per ulteriori informazioni, consulta Istanze di macchine virtuali.
    • Un bilanciatore del carico interno: un Google Cloud bilanciatore del carico delle applicazioni interno è un bilanciatore del carico di livello 7 regionale e basato su proxy che ti consente di eseguire e scalare i servizi dietro un indirizzo IP interno. I bilanciatori del carico delle applicazioni interni distribuiscono il traffico HTTP e HTTPS ai backend ospitati su Compute Engine, Google Kubernetes Engine (GKE) e Cloud Run. Per maggiori informazioni, consulta la panoramica del bilanciatore del carico delle applicazioni interno.
  • Una rete VPC è una versione virtuale di una rete fisica implementata all'interno della rete di produzione di Google. Una rete VPC condivisa è una rete VPC definita in un progetto host e resa disponibile come una rete condivisa a livello centrale per le risorse idonee nei progetti di servizio collegati.

  • Un collegamento di rete è una risorsa regionale che consente di autorizzare esplicitamente un producer a connettersi a una rete VPC del consumer. Per pubblicare eventi, Eventarc utilizza il collegamento di rete per stabilire una connessione all'endpoint HTTP interno ospitato in una rete VPC.

Prima di iniziare

Prima di creare un attivatore Eventarc per instradare gli eventi a un endpoint HTTP interno in una rete VPC, devi creare un collegamento di rete che accetti le connessioni nella stessa rete e nella stessa regione contenente il servizio di destinazione HTTP.

Queste istruzioni presuppongono che tu abbia già creato una rete e una sottorete VPC e che tu abbia eseguito il deployment del servizio di destinazione HTTP.

Per saperne di più, consulta Ricevere eventi Pub/Sub in un endpoint HTTP interno in una rete VPC, che mostra come implementare un endpoint HTTP interno in una rete VPC e instradare gli eventi Pub/Sub all'endpoint.

Limitazioni note

Di seguito sono riportati i limiti noti quando si indirizzano gli eventi a un endpoint HTTP interno in una rete VPC:

  • Non puoi creare più di un trigger Eventarc per lo stesso nome DNS.

  • Esiste un limite di 100 attivatori Eventarc per gli endpoint HTTP interni per progetto.

  • Sono supportate solo le seguenti località di trigger Eventarc:

    • asia-east1
    • europe-north1
    • europe-west1
    • us-central1
    • us-east1

Prepararsi a creare un trigger

Prima di creare un attivatore, completa i seguenti prerequisiti:

Console

  1. Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.

    Vai al selettore dei progetti

  2. Abilita le API Cloud Logging ed Eventarc.

    Abilita le API

  3. Se applicabile, abilita l'API relativa agli eventi diretti. Ad esempio, per gli eventi delle funzioni Cloud Run, attiva cloudfunctions.googleapis.com.

  4. Se non ne hai già uno, crea un account di servizio gestito dall'utente, quindi concedi i ruoli e le autorizzazioni necessari affinché Eventarc possa gestire gli eventi per il servizio di destinazione.

    1. Nella console Google Cloud, vai alla pagina Crea account di servizio.

      Vai a Crea account di servizio

    2. Seleziona il progetto.

    3. Inserisci un nome nel campo Nome account di servizio. La console Google Cloud compila il campo ID account di servizio in base a questo nome.

      Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio, Service account for event trigger.

    4. Fai clic su Crea e continua.

    5. Per fornire l'accesso appropriato, nell'elenco Seleziona un ruolo, seleziona i ruoli IAM (Identity and Access Management) richiesti da concedere all'account di servizio. Per ulteriori informazioni, consulta Ruoli e autorizzazioni per un endpoint HTTP interno in una rete VPC.

      Per altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.

    6. Fai clic su Continua.

    7. Per completare la creazione dell'account, fai clic su Fine.

  5. Se stai creando un trigger per gli eventi diretti da Cloud Storage, concedi il ruolo Pubblicitario Pub/Sub (roles/pubsub.publisher) all'agente di servizio Cloud Storage:

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM

    2. Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.

    3. Nella colonna Principale, individua l'agente di servizio Cloud Storage con il modulo service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com e fai clic su Modifica entità nella riga corrispondente.

    4. Fai clic su Aggiungi ruolo o su Aggiungi un altro ruolo.

    5. Nell'elenco Seleziona un ruolo, filtra per Pub/Sub Publisher e poi seleziona il ruolo.

    6. Fai clic su Salva.

  6. Se l'URI dell'endpoint HTTP interno nella rete VPC utilizza il nome DNS interno di un servizio risolvibile da Cloud DNS, concedi il ruolo DNS Peer (roles/dns.peer) nel progetto host VPC all'agente di servizio Eventarc.

    Tieni presente che, a seconda di come hai configurato la rete VPC, il progetto host VPC potrebbe essere anche il progetto dell'trigger Eventarc.

    1. Nella console Google Cloud, nella pagina del selettore dei progetti, seleziona il progetto host VPC.

      Vai al selettore dei progetti

    2. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM

    3. Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.

    4. Modifica o aggiungi l'agente di servizio Eventarc come entità:

      • Se l'agente di servizio Eventarc ha già altri ruoli nel progetto, individua la riga contenente l'entità nel modulo service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com, fai clic su Modifica entità in quella riga e poi su Aggiungi un altro ruolo.

      • Se l'agente di servizio Eventarc non ha ruoli esistenti nel progetto, fai clic su Concedi accesso, quindi inserisci l'indirizzo email nel modulo service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com.

      Sostituisci PROJECT_NUMBER con il Google Cloud numero del progetto per il progetto di trigger Eventarc. Puoi trovare il numero del progetto nella pagina Ti diamo il benvenuto della console Google Cloud o eseguendo il seguente comando:

      gcloud projects describe PROJECT_ID --format='value(projectNumber)'
    5. Nell'elenco Seleziona un ruolo, filtra per Peer DNS e poi seleziona il ruolo.

    6. Fai clic su Salva.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Abilita le API Cloud Logging, Eventarc e Eventarc Publishing.

    gcloud services enable logging.googleapis.com \
      eventarc.googleapis.com \
      eventarcpublishing.googleapis.com
  3. Se applicabile, abilita l'API relativa agli eventi. Ad esempio, per gli eventi delle funzioni Cloud Run, attiva cloudfunctions.googleapis.com.

  4. Se non ne hai già uno, crea un account di servizio gestito dall'utente e poi concedi i ruoli e le autorizzazioni necessari affinché Eventarc possa gestire gli eventi per il servizio di destinazione.

    1. Crea l'account di servizio:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Sostituisci SERVICE_ACCOUNT_NAME con il nome dell'account di servizio. Deve contenere da 6 a 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.

    2. Concedi i ruoli o le autorizzazioni IAM (Identity and Access Management) richiesti. Per ulteriori informazioni, consulta Ruoli e autorizzazioni per un endpoint HTTP interno in una rete VPC.

  5. Se l'URI dell'endpoint HTTP interno nella rete VPC utilizza il nome DNS interno di un servizio risolvibile da Cloud DNS, concedi il ruolo DNS Peer (roles/dns.peer) nel progetto host VPC all'agente di servizio Eventarc.

    Tieni presente che, a seconda di come hai configurato la rete VPC, il progetto host VPC potrebbe essere anche il progetto dell'trigger Eventarc.

    gcloud projects add-iam-policy-binding VPC_HOST_PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com \
        --role=roles/dns.peer

    Sostituisci quanto segue:

    • VPC_HOST_PROJECT_ID: Google Cloud l'ID progetto per il progetto host VPC.
    • PROJECT_NUMBER: il Google Cloud numero del progetto per il progetto di trigger Eventarc. Puoi trovare il numero del tuo progetto nella pagina Ti diamo il benvenuto della console Google Cloud o eseguendo il seguente comando:
    gcloud projects describe PROJECT_ID --format='value(projectNumber)'
  6. Se stai creando un trigger per gli eventi diretti da Cloud Storage, concedi il ruolo Pub/Sub Publisher (roles/pubsub.publisher) al progetto per l'agente di servizio Cloud Storage:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com \
        --role=roles/pubsub.publisher

Crea un trigger

Puoi creare un trigger Eventarc utilizzando Google Cloud CLI o tramite la console Google Cloud.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

  2. Fai clic su Crea trigger.
  3. Digita un Nome trigger.

    Si tratta dell'ID dell'attivatore e deve iniziare con una lettera. Può contenere fino a 63 lettere minuscole, numeri o trattini.

  4. Per Tipo di attivatore, seleziona Origini Google o Di terze parti.
  5. Seleziona un fornitore di eventi.

    Si tratta del servizio che rappresenta la sorgente degli eventi. Per un'origine Google, avviene direttamente o tramite i relativi log di controllo.

  6. A seconda del tipo di evento che stai instradando, esegui una delle seguenti operazioni:
    1. Eventi diretti: nell'elenco Tipo di evento, seleziona un tipo di evento tra quelli Diretti.
      1. Per gli eventi Cloud Pub/Sub diretti, nell'elenco Seleziona un argomento Cloud Pub/Sub, seleziona un argomento o accetta il valore predefinito Nessun in modo che venga creato un nuovo argomento.
      2. Per gli eventi diretti di Cloud Storage, specifica o cerca l'identificatore univoco a livello globale del bucket Cloud Storage.
    2. Eventi dei log di controllo: nell'elenco Tipo di evento, seleziona un tipo di evento tra quelli tramite Cloud Audit Logs e poi seleziona una delle seguenti opzioni:
      • Qualsiasi risorsa: è l'impostazione predefinita e include le risorse create dinamicamente con identificatori generati al momento della creazione.
      • Risorsa specifica: devi fornire il nome completo della risorsa.
      • Pattern del percorso: puoi filtrare le risorse utilizzando un pattern del percorso. Ad esempio, digita projects/_/buckets/eventarc-bucket/objects/random.txt o projects/_/buckets/**/r*.txt.
    3. Eventi di terze parti: nell'elenco Canale, seleziona un canale e poi, nell'elenco Tipo di evento, seleziona un evento.

      Per ulteriori informazioni, consulta Creare un canale e recuperarne i dettagli.

  7. Se applicabile al tipo di evento, nell'elenco Tipo di contenuto dei dati dell'evento, seleziona application/json o application/protobuf per specificare la codifica del payload dell'evento.

    Tieni presente che un payload evento formattato in JSON è più grande di uno formato in Protobuf. Ciò potrebbe influire sull'affidabilità a seconda della destinazione degli eventi e dei relativi limiti di dimensione. Per ulteriori informazioni, consulta la sezione Problemi noti.

  8. Se applicabile al provider di eventi, fai clic su Aggiungi filtro e specifica quanto segue:
    1. Nel campo Attributo 1, a seconda dell'evento diretto scelto, seleziona un ID risorsa che possa fungere da filtro per gli eventi.
    2. Seleziona un operatore:
    3. Nel campo Valore attributo 1, a seconda dell'operatore scelto, digita il valore esatto o applica un pattern di percorso.
    4. Se è applicabile un campo Attributo 2, specifica i valori appropriati.
  9. Nell'elenco Regione, seleziona una località.

    Per evitare problemi di prestazioni e residenza dei dati, la località deve corrispondere a quella del Google Cloud servizio che genera gli eventi.

    Tieni presente che per questa destinazione evento sono supportate solo le seguenti località:

    • asia-east1
    • europe-north1
    • europe-west1
    • us-east1

    Per ulteriori informazioni, consulta Località Eventarc.

  10. Seleziona l'account di servizio che chiamerà il servizio.

    In alternativa, puoi creare un nuovo account di servizio.

    Specifica l'indirizzo email dell'account di servizio IAM associato all'attivatore e a cui hai precedentemente concesso ruoli specifici richiesti da Eventarc.

  11. Nell'elenco Destinazione evento, seleziona Endpoint HTTP (interno).
    1. Specifica l'URI di destinazione. Si tratta dell'URI dell'endpoint HTTP interno nella rete VPC che riceve gli eventi per l'attivatore. L'URI può essere un indirizzo IP interno statico nella rete VPC indicata dall'attacco alla rete o il nome DNS interno di un servizio risolvibile da Cloud DNS.

      Se l'endpoint HTTP utilizza un nome DNS interno, Eventarc crea automaticamente zone di peering DNS e inoltra le richieste DNS alle zone DNS nella rete VPC di destinazione. Il peering DNS consente di inviare richieste di record provenienti dallo spazio dei nomi di una zona a un'altra rete VPC. Per ulteriori informazioni, consulta Zone di peering e Creare una zona di peering.

      Tieni presente che non puoi creare più di un trigger per lo stesso nome DNS.

    2. Nell'elenco Collegamento di rete, seleziona un identificatore per la risorsa collegamento di rete. Questo identificatore viene generato dopo la creazione di un collegamento di rete. Per ulteriori informazioni, consulta Creare allegati di rete.

      I collegamenti di rete consentono alle reti VPC dei producer di servizi di avviare connessioni alle reti VPC dei consumer. Eventarc utilizza il collegamento di rete per stabilire una connessione all'endpoint HTTP interno ospitato nella rete VPC del consumer e pubblicare gli eventi.

      Quando crei un allegato di rete, puoi autorizzare esplicitamente una connessione tramite gli elenchi di accettazione e rifiuto del produttore. Tuttavia, Eventarc può aggiornare l'elenco di accettazione di un allegato di rete con l'ID progetto appropriato e senza alcun intervento da parte tua.

  12. Fai clic su Crea.
  13. Una volta creato un attivatore, i filtri delle origini evento non possono essere modificati. Crea invece un nuovo attivatore ed elimina quello precedente. Per saperne di più, consulta Gestire gli attivatori.

gcloud

Puoi creare un trigger eseguendo un gcloud eventarc triggers create comando insieme a flag obbligatori e facoltativi.

Eventi diretti

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-http-endpoint-uri=ENDPOINT_URI \
    --network-attachment=NETWORK_ATTACHMENT_ID \
    --event-filters="type=EVENT_FILTER_TYPE" \
    --event-filters="COLLECTION_ID=RESOURCE_ID" \
    --event-filters-path-pattern="COLLECTION_ID=PATH_PATTERN" \
    --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"

Sostituisci quanto segue:

  • TRIGGER: l'ID dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore Eventarc. In alternativa, puoi impostare la proprietà eventarc/location, ad esempio gcloud config set eventarc/location us-central1.

    Per evitare problemi di prestazioni e residenza dei dati, la località deve corrispondere a quella del Google Cloud servizio che genera gli eventi.

    Tieni presente che per questa destinazione evento sono supportate solo le seguenti località:

    • asia-east1
    • europe-north1
    • europe-west1
    • us-central1
    • us-east1

    Per ulteriori informazioni, consulta Località Eventarc.

  • ENDPOINT_URI: l'URI dell'endpoint HTTP interno nella rete VPC che riceve gli eventi per l'attivatore. L'URI può essere un indirizzo IP interno statico nella rete VPC indicata dall'attacco alla rete o il nome DNS interno di un servizio risolvibile da Cloud DNS.

    Se l'endpoint HTTP utilizza un nome DNS interno, Eventarc crea automaticamente zone di peering DNS e inoltra le richieste DNS alle zone DNS nella rete VPC di destinazione. Il peering DNS consente di inviare richieste di record provenienti dallo spazio dei nomi di una zona a un'altra rete VPC. Per saperne di più, consulta Zone di peering e Creare una zona di peering.

    Tieni presente che non puoi creare più di un trigger per lo stesso nome DNS.

  • NETWORK_ATTACHMENT_ID: identificatore univoco per la risorsa di allegato di rete. L'identificatore viene generato dopo la creazione di un collegamento di rete. Per ulteriori informazioni, consulta Creare allegati di rete.

    I collegamenti di rete consentono alle reti VPC dei producer di servizi di avviare connessioni alle reti VPC dei consumer. Eventarc utilizza il collegamento di rete per stabilire una connessione all'endpoint HTTP interno ospitato nella rete VPC del consumatore e pubblicare gli eventi.

    Quando crei un allegato di rete, puoi autorizzare esplicitamente una connessione tramite gli elenchi di accettazione e rifiuto del produttore. Tuttavia, Eventarc può aggiornare l'elenco di accettazione di un allegato di rete con l'ID progetto appropriato e senza alcun intervento da parte tua.

  • EVENT_FILTER_TYPE: l'identificatore dell'evento. Viene generato un evento quando una chiamata API per il metodo ha esito positivo. Per le operazioni a lunga esecuzione, l'evento viene generato solo al termine dell'operazione e solo se l'azione viene eseguita correttamente. Consulta l'elenco dei tipi di eventi diretti supportati.

  • COLLECTION_ID (facoltativo): il componente resource che può fungere da filtro evento; ad esempio, per le funzioni Cloud Run, è function.

  • RESOURCE_ID: l'identificatore della risorsa utilizzata come valore di filtro per la raccolta associata. Per ulteriori informazioni, consulta ID risorsa.

  • PATH_PATTERN: il pattern del percorso da applicare quando si applica un filtro alla risorsa.

  • SERVICE_ACCOUNT_NAME: il nome del tuo account di servizio gestito dall'utente.

  • PROJECT_ID: il tuo Google Cloud ID progetto.

Note:

  • Il flag --event-filters="type=EVENT_FILTER_TYPE" è obbligatorio. Se non è impostato nessun altro filtro evento, gli eventi per tutte le risorse vengono trovati.
  • EVENT_FILTER_TYPE non può essere modificato dopo la creazione. Per modificare EVENT_FILTER_TYPE, crea un nuovo attivatore ed elimina quello precedente.
  • Ogni attivatore può avere più filtri evento, separati da virgola in un singolo --event-filters=[ATTRIBUTE=VALUE,...] flag oppure puoi ripetere il flag per aggiungere altri filtri. Solo gli eventi che corrispondono a tutti i filtri vengono inviati alla destinazione. I caratteri jolly e le espressioni regolari non sono supportati. Tuttavia, se utilizzi il flag --event-filters-path-pattern, puoi definire un pattern del percorso della risorsa.
  • Il flag --service-account viene utilizzato per specificare l'indirizzo email dell'account di servizio IAM associato all'attivatore.

Esempio:

gcloud eventarc triggers create helloworld-trigger \
    --location=us-central1 \
    --destination-http-endpoint-uri=http://my-vm.us-central1-a.c.my-project.internal \
    --network-attachment="projects/my-project/regions/us-central1/networkAttachments/my-attachment-name" \
    --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --service-account=my-service-account@my-project.iam.gserviceaccount.com

Eventi dei log di controllo

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-http-endpoint-uri=ENDPOINT_URI \
    --network-attachment=NETWORK_ATTACHMENT_ID \
    --event-filters="type=google.cloud.audit.log.v1.written" \
    --event-filters="serviceName=SERVICE_NAME" \
    --event-filters="methodName=METHOD_NAME" \
    --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"

Sostituisci quanto segue:

  • TRIGGER: l'ID dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore Eventarc. In alternativa, puoi impostare la proprietà eventarc/location, ad esempio gcloud config set eventarc/location us-central1.

    Per evitare problemi di prestazioni e residenza dei dati, la località deve corrispondere a quella del Google Cloud servizio che genera gli eventi. Sono supportate le seguenti località:

    • asia-east1
    • europe-north1
    • europe-west1
    • us-central1
    • us-east1

    Per ulteriori informazioni, consulta Località Eventarc.

  • ENDPOINT_URI: l'URI dell'endpoint HTTP interno nella rete VPC che riceve gli eventi per l'attivatore. L'URI può essere un indirizzo IP interno statico nella rete VPC indicata dall'attacco alla rete o il nome DNS interno di un servizio risolvibile da Cloud DNS.

    Se l'endpoint HTTP utilizza un nome DNS interno, Eventarc crea automaticamente zone di peering DNS e inoltra le richieste DNS alle zone DNS nella rete VPC di destinazione. Il peering DNS consente di inviare richieste di record provenienti dallo spazio dei nomi di una zona a un'altra rete VPC. Per saperne di più, consulta Zone di peering e Creare una zona di peering.

    Tieni presente che non puoi creare più di un trigger per lo stesso nome DNS.

  • NETWORK_ATTACHMENT_ID: identificatore univoco per la risorsa di allegato di rete. L'identificatore viene generato dopo la creazione di un collegamento di rete. Per ulteriori informazioni, consulta Creare allegati di rete.

    I collegamenti di rete consentono alle reti VPC dei producer di servizi di avviare connessioni alle reti VPC dei consumer. Eventarc utilizza il collegamento di rete per stabilire una connessione all'endpoint HTTP interno ospitato nella rete VPC del consumatore e pubblicare gli eventi.

    Quando crei un allegato di rete, puoi autorizzare esplicitamente una connessione tramite gli elenchi di accettazione e rifiuto del produttore. Tuttavia, Eventarc può aggiornare l'elenco di accettazione di un allegato di rete con l'ID progetto appropriato e senza alcun intervento da parte tua.

  • SERVICE_NAME: l'identificatore del servizio.Google Cloud Consulta l'elenco dei tipi di eventi dei log di controllo supportati.

  • METHOD_NAME: l'identificatore dell'operazione. Consulta l'elenco dei tipi di eventi dei log di controllo supportati.

  • SERVICE_ACCOUNT_NAME: il nome del tuo account di servizio gestito dall'utente.

  • PROJECT_ID: il tuo Google Cloud ID progetto.

Note:

  • Questi flag sono obbligatori:
    • --event-filters="type=google.cloud.audit.log.v1.written"
    • --event-filters="serviceName=VALUE"
    • --event-filters="methodName=VALUE"
  • Se vuoi, filtra gli eventi per una risorsa specifica utilizzando il flag --event-filters="resourceName=VALUE" e specificando il percorso completo della risorsa. Ometti il flag per le risorse create dinamicamente con identificatori generati al momento della creazione. In alternativa, filtra gli eventi per un insieme di risorse utilizzando il flag --event-filters-path-pattern="resourceName=VALUE" e specificando il pattern del percorso della risorsa.
  • Ogni attivatore può avere più filtri evento, separati da virgola in un singolo --event-filters=[ATTRIBUTE=VALUE,...] flag oppure puoi ripetere il flag per aggiungere altri filtri. Solo gli eventi che corrispondono a tutti i filtri vengono inviati alla destinazione. I caratteri jolly e le espressioni regolari non sono supportati. Tuttavia, se utilizzi il flag --event-filters-path-pattern, puoi definire un pattern del percorso della risorsa.
  • Una volta creato un attivatore, il tipo di filtro evento non può essere modificato. Per un tipo di evento diverso, devi creare un nuovo attivatore.
  • Il flag --service-account viene utilizzato per specificare l'indirizzo email dell'account di servizio IAM associato all'attivatore.

Esempio:

gcloud eventarc triggers create helloworld-trigger \
    --location=us-central1 \
    --destination-http-endpoint-uri=http://10.10.10.2 \
    --network-attachment="projects/my-project/regions/us-central1/networkAttachments/my-attachment" \
    --event-filters="type=google.cloud.audit.log.v1.written" \
    --event-filters="serviceName=eventarc.googleapis.com" \
    --event-filters="methodName=google.cloud.eventarc.v1.Eventarc.GetTrigger" \
    --event-filters="resourceName=projects/my-project/locations/us-central1/triggers/my-trigger" \
    --service-account=my-service-account@my-project.iam.gserviceaccount.com

Eventi di terze parti

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-http-endpoint-uri=ENDPOINT_URI \
    --network-attachment=NETWORK_ATTACHMENT_ID \
    --event-filters="type=EVENT_FILTER_TYPE" \
    --channel=CHANNEL_NAME \
    --project=PROJECT_ID \
    --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"

Sostituisci quanto segue:

  • TRIGGER: l'ID dell'attivatore o un identificatore completamente qualificato.
  • LOCATION: la posizione dell'attivatore Eventarc. In alternativa, puoi impostare la proprietà eventarc/location, ad esempio gcloud config set eventarc/location us-central1.

    Per evitare problemi di prestazioni e residenza dei dati, la località deve corrispondere a quella del Google Cloud servizio che genera gli eventi.

    Tieni presente che per questa destinazione evento sono supportate solo le seguenti località:

    • asia-east1
    • europe-north1
    • europe-west1
    • us-central1
    • us-east1

    Per ulteriori informazioni, consulta Località Eventarc.

  • ENDPOINT_URI: l'URI dell'endpoint HTTP interno nella rete VPC che riceve gli eventi per l'attivatore. L'URI può essere un indirizzo IP interno statico nella rete VPC indicata dall'attacco alla rete o il nome DNS interno di un servizio risolvibile da Cloud DNS.

    Se l'endpoint HTTP utilizza un nome DNS interno, Eventarc crea automaticamente zone di peering DNS e inoltra le richieste DNS alle zone DNS nella rete VPC di destinazione. Il peering DNS consente di inviare richieste di record provenienti dallo spazio dei nomi di una zona a un'altra rete VPC. Per saperne di più, consulta Zone di peering e Creare una zona di peering.

    Tieni presente che non puoi creare più di un trigger per lo stesso nome DNS.

  • NETWORK_ATTACHMENT_ID: identificatore univoco per la risorsa di allegato di rete. L'identificatore viene generato dopo la creazione di un collegamento di rete. Per ulteriori informazioni, consulta Creare allegati di rete.

    I collegamenti di rete consentono alle reti VPC dei produttori di servizi di avviare connessioni alle reti VPC dei consumer. Eventarc utilizza il collegamento di rete per stabilire una connessione all'endpoint HTTP interno ospitato nella rete VPC del consumatore e pubblicare gli eventi.

    Quando crei un allegato di rete, puoi autorizzare esplicitamente una connessione tramite gli elenchi di accettazione e rifiuto del produttore. Tuttavia, Eventarc può aggiornare l'elenco di accettazione di un allegato di rete con l'ID progetto appropriato e senza alcun intervento da parte tua.

  • EVENT_FILTER_TYPE: il tipo di evento supportato dal fornitore. Consulta l'elenco dei tipi di eventi di terze parti supportati.

  • CHANNEL_NAME: un nome per il canale. Per ulteriori informazioni, consulta Creare un canale e recuperarne i dettagli.

  • PROJECT_ID: il tuo Google Cloud ID progetto.

  • SERVICE_ACCOUNT_NAME: il nome del tuo account di servizio gestito dall'utente.

Note:

  • Il flag --event-filters="type=EVENT_FILTER_TYPE" è obbligatorio. Se non è impostato nessun altro filtro evento, gli eventi per tutte le risorse vengono trovati.
  • EVENT_FILTER_TYPE non può essere modificato dopo la creazione. Per modificare EVENT_FILTER_TYPE, crea un nuovo attivatore ed elimina quello precedente.
  • Ogni attivatore può avere più filtri evento, separati da virgola in un singolo --event-filters=[ATTRIBUTE=VALUE,...] flag oppure puoi ripetere il flag per aggiungere altri filtri. Solo gli eventi che corrispondono a tutti i filtri vengono inviati alla destinazione. I caratteri jolly e le espressioni regolari non sono supportati.
  • Il flag --service-account viene utilizzato per specificare l'indirizzo email dell'account di servizio IAM associato all'attivatore.

Esempio:

gcloud eventarc triggers create helloworld-trigger \
    --location=us-central1 \
    --destination-http-endpoint-uri=http://my-vm.us-central1-a.c.my-project.internal \
    --network-attachment="projects/my-project/regions/us-central1/networkAttachments/my-attachment-name" \
    --event-filters="type=third-party-event-type" \
    --channel=my-channel \
    --project=my-project-ID \
    --service-account=my-service-account@my-project.iam.gserviceaccount.com

Elenca un trigger

Puoi confermare la creazione di un attivatore elencando gli attivatori Eventarc utilizzando Google Cloud CLI o la console Google Cloud.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc Trigger.

    Vai ai trigger

    Questa pagina elenca gli attivatori in tutte le località e include dettagli come nomi, regioni, fornitori di eventi, destinazioni e altro ancora.

  2. Per filtrare gli attivatori:

    1. Fai clic su Filtro o sul campo Attivati filtri.
    2. Nell'elenco Proprietà, seleziona un'opzione in base alla quale filtrare gli attivatori.

    Puoi selezionare una singola proprietà o utilizzare l'operatore logico OR per aggiungere altre proprietà.

  3. Per ordinare gli attivatori, fai clic su Ordina accanto a un'intestazione di colonna supportata.

gcloud

Esegui il comando seguente per elencare gli attivatori:

gcloud eventarc triggers list --location=-

Questo comando elenca gli attivatori in tutte le località e include dettagli come nomi, tipi, destinazioni e stati.

Passaggi successivi