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:
Eseguire il deployment di un servizio di ricezione di eventi in Cloud Run.
Creare un attivatore di evento.
Pubblicare un messaggio in un argomento Pub/Sub per generare un evento e visualizzarlo nei log di Cloud Run.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Prima di iniziare
- 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.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
-
Abilita le API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
-
Abilita le API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc.
- Installa e inizializza Google Cloud CLI.
- Aggiorna i componenti gcloud:
gcloud components update
- Accedi utilizzando il tuo account:
gcloud auth login
- 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:
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.
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/
Crea il container e caricalo su Cloud Build:
gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/events-pubsub
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 è completato.
Crea un trigger Eventarc
L'attivatore di evento invia messaggi al servizio di ricezione eventi di cui è stato eseguito il deployment in Cloud Run quando un messaggio viene pubblicato nell'argomento Pub/Sub.
Per creare un trigger Pub/Sub Eventarc:
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 viene attivato un trigger chiamato
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 CloudTOPIC_NAME
è il nome dell'argomento Pub/Sub esistente.
Viene creato un trigger denominato
events-pubsub-trigger
per l'argomento Pub/Sub esistente.Verifica che l'attivatore sia stato creato correttamente:
gcloud eventarc triggers list --location=us-central1
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)')
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 dell'evento.
Per visualizzare il messaggio dell'evento, vai ai log del servizio Cloud Run:
- Vai alla console Google Cloud
- Fai clic sul servizio
helloworld-events-pubsub-tutorial
. Seleziona la scheda Log.
La visualizzazione dei log potrebbe richiedere alcuni istanti. Se non le vedi immediatamente, ricontrolla dopo qualche istante.
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 mantenerlo senza le modifiche aggiunte 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:
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina risorse tutorial
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.
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
Elimina altre risorse Google Cloud create in questo tutorial:
- Elimina il trigger Eventarc:
gcloud eventarc triggers delete TRIGGER_NAME
SostituisciTRIGGER_NAME
con il nome del tuo attivatore.
- Elimina l'immagine container denominata
gcr.io/PROJECT_ID/events-pubsub
da Container Registry.
- Elimina il trigger Eventarc: