Puoi utilizzare Workflows per eseguire un job Cloud Run nell'ambito di un flusso di lavoro che esegue un'elaborazione dei dati più complessa o che orchestra un sistema di job esistenti.
Questo tutorial mostra come utilizzare Workflows per eseguire un job Cloud Run che elabora i dati degli eventi archiviati in un bucket Cloud Storage. L'archiviazione del payload dell'evento in un bucket Cloud Storage consente di criptare i dati utilizzando le chiavi di crittografia gestite dal cliente, il che non è possibile se passi i dati sugli eventi come variabili di ambiente al job Cloud Run.
Il seguente diagramma fornisce una panoramica generale:
Obiettivi
In questo tutorial, imparerai a:
- Crea un job Cloud Run che elabora i dati degli eventi archiviati in un bucket Cloud Storage.
- Esegui il deployment di un workflow che:
- Riceve un evento come argomento.
- Scrive i dati del payload dell'evento nel bucket Cloud Storage.
- Utilizza il connettore dell'API Cloud Run Admin per eseguire il job Cloud Run.
- Crea un argomento Pub/Sub in modo da poter pubblicare un messaggio. Questo tutorial utilizza un evento Pub/Sub come esempio di routing degli eventi utilizzando Workflows, salvando l'evento in Cloud Storage in modo che un job Cloud Run possa elaborare i dati dell'evento.
- Crea un trigger Eventarc che esegue il workflow quando un messaggio viene scritto nell'argomento Pub/Sub.
- Attiva il workflow scrivendo un messaggio nell'argomento Pub/Sub.
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
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Prima di iniziare questo tutorial, devi abilitare API specifiche e creare un account di servizio gestito dall'utente. Devi concedere al account di servizio i ruoli e le autorizzazioni necessari per poter instradare gli eventi utilizzando un trigger Eventarc ed eseguire un workflow.
Tieni presente che se utilizzi Cloud Shell per provare questo tutorial, potresti dover concedere ruoli aggiuntivi al service account predefinito di Compute Engine. Per i dettagli, consulta la sezione Crea un job Cloud Run di questo documento.
Console
- 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 senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
- Se hai attivato l'agente di servizio Cloud Pub/Sub l'8 aprile 2021 o in una data precedente, per supportare le richieste push Pub/Sub autenticate, concedi il ruolo Creatore token service account (
roles/iam.serviceAccountTokenCreator) all'agente di servizio. In caso contrario, questo ruolo viene concesso per impostazione predefinita:- Nella console Google Cloud vai alla pagina
IAM.
- Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
- Nella colonna Nome, trova l'account di servizio Cloud Pub/Sub e fai clic su Modifica entità nella riga corrispondente.
- Fai clic su Aggiungi ruolo o Aggiungi un altro ruolo.
- Nell'elenco Seleziona un ruolo, filtra per Creatore token service account, quindi seleziona il ruolo.
- Fai clic su Salva.
- Nella console Google Cloud vai alla pagina
IAM.
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Cloud Shell supporta i passaggi da riga di comando di questo tutorial.
gcloud
- 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 senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita le API Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc e Workflows:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com -
Configura l'autenticazione:
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli. -
Crea l'account di servizio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sostituisci
SERVICE_ACCOUNT_NAMEcon un nome per il account di servizio. -
Concedi ruoli al account di servizio. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Sostituisci quanto segue:
SERVICE_ACCOUNT_NAME: il nome del account di servizioPROJECT_ID: l'ID progetto in cui hai creato il account di servizioROLE: il ruolo da concedere
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita le API Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc e Workflows:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com -
Configura l'autenticazione:
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli. -
Crea l'account di servizio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sostituisci
SERVICE_ACCOUNT_NAMEcon un nome per il account di servizio. -
Concedi ruoli al account di servizio. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Sostituisci quanto segue:
SERVICE_ACCOUNT_NAME: il nome del account di servizioPROJECT_ID: l'ID progetto in cui hai creato il account di servizioROLE: il ruolo da concedere
-
Assicurati di disporre del ruolo IAM Creazione account di servizio
(
- Se hai attivato l'agente di servizio Cloud Pub/Sub l'8 aprile 2021 o in una data precedente, per supportare le richieste push Pub/Sub autenticate, concedi
il ruolo
Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator) all'agente di servizio. In caso contrario, questo ruolo viene concesso per impostazione predefinita:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Sostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloud. Puoi trovare il numero di progetto nella pagina Benvenuto della console Google Cloud o eseguendo questo comando:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Crea un job Cloud Run
Questo tutorial utilizza un codice campione che puoi trovare su GitHub. Lo script di deployment crea un'immagine container per creare un job Cloud Run denominato message-payload-job.
Lo script crea anche un bucket Cloud Storage e genera un
identificatore univoco universale (UUID) per il suo nome utilizzando uuidgen, un'utilità
spesso già installata su Linux, macOS e Windows.
Il job Cloud Run legge i dati degli eventi archiviati nel bucket Cloud Storage e li stampa.
Se esegui lo script di deployment in Cloud Shell e se il service account predefinito di Compute Engine non dispone del ruolo Editor, concedi i seguenti ruoli nel progetto al account di servizio predefinito di Compute Engine. Altrimenti, puoi saltare questo passaggio e procedere con la clonazione del repository dell'app di esempio nel passaggio successivo.
Concedi il ruolo Writer Artifact Registry (
roles/artifactregistry.writer):gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/artifactregistry.writer
Sostituisci
PROJECT_NUMBERcon il numero del tuo progetto Google Cloud. Puoi trovare il numero di progetto nella pagina Benvenuto della console Google Cloud o eseguendo questo comando:gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Concedi il ruolo Storage Object User (
roles/storage.objectUser):gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser
Concedi il ruolo Writer log di Logging (
roles/logging.logWriter):gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/logging.logWriter
Recupera il codice campione clonando il repository dell'app di esempio sulla tua macchina locale:
git clone https://github.com/GoogleCloudPlatform/workflows-demos.git
In alternativa, puoi scaricare l'esempio come file ZIP.
Passa alla directory che contiene il codice di esempio:
cd workflows-demos/cloud-run-jobs-payload-gcs/message-payload-job
Crea il job Cloud Run eseguendo lo script di deployment:
./deploy-job.sh
L'output dovrebbe essere simile al seguente:
STATUS: SUCCESS Creating input bucket message-payload-UNIQUE_ID ... Creating Cloud Run job [message-payload-job] in project [PROJECT_ID] region [us-central1] Creating job... Done. Job [message-payload-job] has successfully been created.Prendi nota dell'UUID generato per il nome del bucket Cloud Storage. Avrai bisogno di questo identificatore quando esegui il deployment del workflow.
Esegui il deployment di un workflow che esegue il job Cloud Run
Definisci ed esegui il deployment di un flusso di lavoro che esegue il job Cloud Run che hai appena creato. Una definizione di workflow è costituita da una serie di passaggi descritti utilizzando la sintassi di Workflows.
Il workflow riceve un evento, salva i dati sugli eventi in un bucket Cloud Storage ed esegue un job Cloud Run per elaborare i dati sugli eventi.
Console
Nella console Google Cloud , vai alla pagina Workflows:
Fai clic su Crea.
Inserisci un nome per il nuovo flusso di lavoro, ad esempio
message-payload-workflow.Scegli una regione appropriata, ad esempio
us-central1.Nel campo Service account, seleziona il account di servizio che hai creato in precedenza.
Il account di servizio funge da identità del flusso di lavoro. Dovresti aver già concesso i seguenti ruoli al account di servizio:
- Amministratore di Cloud Run: per eseguire job Cloud Run
- Writer log: per scrivere voci di log
- Storage Object Creator: per creare oggetti in Cloud Storage
Fai clic su Avanti.
Nell'editor del workflow, inserisci la seguente definizione per il tuo workflow:
Sostituisci
UNIQUE_IDcon l'UUID generato per il nome del bucket Cloud Storage e che hai annotato in precedenza.Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il workflow:
touch message-payload-workflow.yamlCopia la seguente definizione del workflow in
message-payload-workflow.yaml:Sostituisci
UNIQUE_IDcon l'UUID generato per il nome del bucket Cloud Storage e che hai annotato in precedenza.Esegui il deployment del flusso di lavoro inserendo questo comando:
gcloud workflows deploy message-payload-workflow \ --location=us-central1 \ --source=message-payload-workflow.yaml \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Sostituisci quanto segue:
SERVICE_ACCOUNT_NAME: il nome del account di servizio che hai creato in precedenzaPROJECT_ID: l'ID del tuo progetto Google Cloud
Il account di servizio funge da identità del flusso di lavoro. Dovresti aver già concesso i seguenti ruoli al account di servizio:
roles/logging.logWriter: per scrivere voci di logroles/run.admin: per eseguire i job Cloud Runroles/storage.objectCreator: per creare oggetti in Cloud Storage
Il flusso di lavoro esegue le seguenti operazioni:
init: accetta un evento come argomento e imposta le variabili necessarie.Passaggio
log_event: crea una voce di log in Cloud Logging utilizzando la funzione sys.log.Passaggio
write_payload_to_gcs: esegue una richiesta HTTPPOSTe scrive i dati del payload dell'evento in un file del bucket Cloud Storage.Il passaggio
run_job_to_process_payloadutilizza il metodo del connettore dell'API Cloud Run Admin,googleapis.run.v1.namespaces.jobs.run, per eseguire il job. Il bucket Cloud Storage e il nome del file di dati vengono passati come variabili di override dal workflow al job.Passaggio
finish: restituisce informazioni sull'esecuzione del job come risultato del workflow.
Crea un argomento Pub/Sub
Crea un argomento Pub/Sub in modo da poter pubblicare un messaggio. Un evento Pub/Sub viene utilizzato per dimostrare come instradare un evento utilizzando Workflows e salvare l'evento in Cloud Storage in modo che un job Cloud Run possa elaborare i dati sugli eventi.
Console
Nella console Google Cloud , vai alla pagina Argomenti.
Fai clic su Crea argomento.
Nel campo ID argomento, inserisci un ID per l'argomento, ad esempio
message-payload-topic.Mantieni l'opzione Aggiungi una sottoscrizione predefinita.
Non selezionare le altre opzioni.
Fai clic su Crea.
gcloud
Per creare un argomento con ID message-payload-topic, esegui il comando gcloud pubsub topics create:
gcloud pubsub topics create message-payload-topic
Crea un trigger Eventarc per instradare gli eventi al flusso di lavoro
Per eseguire automaticamente il workflow e, di conseguenza, il job Cloud Run, crea un trigger Eventarc che risponda agli eventi Pub/Sub e che li indirizzi al workflow. Ogni volta che viene scritto un messaggio nell'argomento Pub/Sub, l'evento attiva un'esecuzione del workflow.
Console
Nella console Google Cloud , vai alla pagina Workflows:
Fai clic sul nome del workflow, ad esempio
message-payload-workflow.Nella pagina Dettagli del flusso di lavoro, fai clic su Modifica.
Nella pagina Modifica flusso di lavoro, nella sezione Attivatori, fai clic su Aggiungi nuovo attivatore > Eventarc.
Viene visualizzato il riquadro Trigger Eventarc.
Nel campo Nome attivatore, inserisci un nome per l'attivatore, ad esempio
message-payload-trigger.Dall'elenco Provider di eventi, seleziona Cloud Pub/Sub.
Nell'elenco Evento, seleziona google.cloud.pubsub.topic.v1.messagePublished.
Nell'elenco Seleziona un argomento Cloud Pub/Sub, seleziona l'argomento Pub/Sub che hai creato in precedenza.
Nel campo Service account, seleziona il account di servizio che hai creato in precedenza.
Il account di servizio funge da identità del trigger. Dovresti aver già concesso i seguenti ruoli al account di servizio:
- Eventarc Event Receiver: per ricevere eventi
- Workflows Invoker: per eseguire i workflow
Fai clic su Salva trigger.
Il trigger Eventarc ora viene visualizzato nella sezione Trigger della pagina Modifica flusso di lavoro.
Fai clic su Avanti.
Fai clic su Esegui il deployment.
gcloud
Crea un trigger Eventarc eseguendo il seguente comando:
gcloud eventarc triggers create message-payload-trigger \ --location=us-central1 \ --destination-workflow=message-payload-workflow \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \ --transport-topic=projects/PROJECT_ID/topics/message-payload-topic \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo progetto Google CloudSERVICE_ACCOUNT_NAME: il nome del service account creato in precedenza.
Il account di servizio funge da identità del trigger. Dovresti aver già concesso i seguenti ruoli al account di servizio:
roles/eventarc.eventReceiver: per ricevere eventiroles/workflows.invoker: per eseguire i workflow
Attivare il workflow
Testa il sistema end-to-end pubblicando un messaggio nell'argomento Pub/Sub e generando un evento. Per ulteriori informazioni, consulta la sezione Attivare un workflow con eventi o messaggi Pub/Sub.
Pubblica un messaggio nell'argomento Pub/Sub per generare un evento:
gcloud pubsub topics publish message-payload-topic --message="Hello World"
L'evento viene indirizzato al workflow che registra il messaggio dell'evento, salva i dati sugli eventi nel bucket Cloud Storage ed esegue il job Cloud Run per elaborare i dati salvati in Cloud Storage. Questa operazione può richiedere alcuni minuti.
Verifica che il job Cloud Run sia stato eseguito come previsto visualizzando le esecuzioni del job:
gcloud run jobs executions list --job=message-payload-job
Nell'output dovresti vedere una nuova esecuzione del job.
Puoi verificare che i risultati siano quelli previsti visualizzando i dati degli eventi nell'oggetto bucket Cloud Storage.
Recupera il nome del bucket:
gcloud storage ls
L'output è simile al seguente:
gs://message-payload-UNIQUE_ID/
Elenca gli oggetti nel bucket:
gcloud storage ls gs://message-payload-UNIQUE_ID/** --recursive
L'output dovrebbe essere simile al seguente:
gs://message-payload-UNIQUE_ID/OBJECT_ID.data.json
Prendi nota del
OBJECT_IDda utilizzare nel passaggio successivo.Scarica l'oggetto nel bucket come file:
gcloud storage cp gs://message-payload-UNIQUE_ID/OBJECT_ID.data.json message-event.txt
Sostituisci
OBJECT_IDcon l'ID restituito nel passaggio precedente.In un editor di testo, apri il file
message-event.txt. Il corpo dell'evento scritto nel file dovrebbe essere simile al seguente:{ "message": { "data": "SGVsbG8gV29ybGQ=", "messageId": "8254002311197919", "publishTime": "2023-09-20T16:54:29.312Z" }, "subscription": "projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741" }Tieni presente che se decodifichi il valore dei dati di
SGVsbG8gV29ybGQ=dal formato Base64, viene restituito "Hello World".
Esegui la pulizia
Se hai creato un nuovo progetto per questo tutorial, eliminalo. Se hai utilizzato un progetto esistente e vuoi conservarlo 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 creato per il tutorial.
Per eliminare il progetto:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello 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 le risorse del tutorial
Elimina le risorse che hai creato in questo tutorial: