Ricevi un evento Pub/Sub

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina del tutorial mostra come eseguire il deployment di un servizio Cloud Run non autenticato che riceve eventi utilizzando Pub/Sub.

Obiettivi

In questo tutorial, imparerai a:

  1. Eseguire il deployment di un servizio di ricezione di eventi in Cloud Run.

  2. Creare un attivatore di evento.

  3. Pubblicare un messaggio in un argomento Pub/Sub per generare un evento e visualizzarlo nei log di Cloud Run.

Costi

Questo tutorial utilizza i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud possono beneficiare di una prova gratuita.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Abilita le API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc.

    Abilita le API

  5. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  7. Abilita le API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc.

    Abilita le API

  8. Installa e inizializza Google Cloud CLI.
  9. Aggiorna i componenti gcloud:
    gcloud components update
  10. Accedi utilizzando il tuo account:
    gcloud auth login
  11. Imposta le variabili di configurazione utilizzate in questo tutorial:
    gcloud config set project PROJECT_ID
    gcloud config set run/region us-central1
    gcloud config set run/platform managed
    gcloud config set eventarc/location us-central1
    
    Dove PROJECT_ID è il tuo ID progetto Google Cloud.

Esegui il deployment di un destinatario di eventi in Cloud Run

Eseguire il deployment di un servizio Cloud Run che riceve e registra gli eventi.

Per eseguire il deployment del servizio di ricezione di eventi di esempio:

  1. Clona il repository:

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

    Ruby

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

    C#

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

  2. Passa alla directory che contiene il codice campione di Cloud Run:

    Node.js

    cd nodejs-docs-samples/eventarc/pubsub/

    Python

    cd python-docs-samples/eventarc/pubsub/

    Go

    cd golang-samples/eventarc/pubsub/

    Java

    cd java-docs-samples/eventarc/pubsub/

    Ruby

    cd ruby-docs-samples/eventarc/pubsub/

    C#

    cd dotnet-docs-samples/eventarc/pubsub/
  3. Crea il container e caricalo su Cloud Build:

    gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/events-pubsub
    
  4. Esegui il deployment dell'immagine container su Cloud Run:

    gcloud run deploy helloworld-events-pubsub-tutorial \
        --image gcr.io/$(gcloud config get-value project)/events-pubsub \
        --allow-unauthenticated
    

Quando vedi l'URL del servizio, il deployment è completo.

Crea un trigger Eventarc

Il trigger di eventi invia messaggi al servizio di ricezione di eventi di cui è stato eseguito il deployment su Cloud Run quando viene pubblicato un messaggio nell'argomento Pub/Sub.

Per creare un trigger Eventarc Pub/Sub:

  1. Crea un trigger per ascoltare i messaggi Pub/Sub:

    Nuovo argomento Pub/Sub

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-tutorial \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished"
    

    Viene creato un nuovo argomento Pub/Sub e un trigger denominato events-pubsub-trigger.

    Argomento Pub/Sub esistente

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-tutorial \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
      --transport-topic=projects/PROJECT_ID/topics/TOPIC_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID è il tuo ID progetto Google Cloud
    • TOPIC_NAME è il nome dell'argomento Pub/Sub esistente.

    Viene creato un trigger denominato events-pubsub-trigger per l'argomento Pub/Sub esistente.

  2. Verifica che il trigger sia stato creato correttamente:

    gcloud eventarc triggers list --location=us-central1
    
  3. Trova e imposta l'argomento Pub/Sub come variabile di ambiente:

    export RUN_TOPIC=$(gcloud eventarc triggers describe events-pubsub-trigger \
        --format='value(transport.pubsub.topic)')
    
  4. Invia un messaggio all'argomento Pub/Sub per generare un evento:

    gcloud pubsub topics publish $RUN_TOPIC --message "Runner"
    

    L'evento viene inviato al servizio Cloud Run, che registra il messaggio di evento.

  5. Per visualizzare il messaggio dell'evento, vai ai log del servizio Cloud Run:

    1. Vai alla console Google Cloud
    2. Fai clic sul servizio helloworld-events-pubsub-tutorial.
    3. Seleziona la scheda Log.

      La visualizzazione dei log potrebbe richiedere alcuni istanti. Se non le vedi immediatamente, ricontrolla dopo qualche istante.

  6. Cerca il messaggio "Hello Runner!".

Esegui la pulizia

Se hai creato un nuovo progetto per questo tutorial, elimina il progetto. Se hai utilizzato un progetto esistente e vuoi conservarlo senza apportare modifiche in questo tutorial, elimina le risorse create per il tutorial.

Elimina il progetto

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. In Google Cloud Console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Elimina risorse del tutorial

  1. Elimina il servizio Cloud Run di cui hai eseguito il deployment in questo tutorial:

    gcloud run services delete SERVICE_NAME

    Dove SERVICE_NAME è il nome del servizio che hai scelto.

    Puoi anche eliminare i servizi Cloud Run dalla console Google Cloud.

  2. Rimuovi le configurazioni predefinite dell'interfaccia a riga di comando gcloud aggiunte durante la configurazione del tutorial.

    Ad esempio:

    gcloud config unset run/region

    o

    gcloud config unset project

  3. Elimina le altre risorse Google Cloud create in questo tutorial:

    • Elimina il trigger Eventarc:
      gcloud eventarc triggers delete TRIGGER_NAME
      
      Sostituisci TRIGGER_NAME con il nome del trigger.

Passaggi successivi