Esegui un job Cloud Run che elabora i dati sugli eventi salvati in Cloud Storage


Puoi utilizzare Workflows per eseguire un job Cloud Run all'interno di un flusso di lavoro che esegue elaborazioni di dati più complesse o che orchestra un sistema di job esistenti.

Questo tutorial mostra come utilizzare Workflows per eseguire un job Cloud Run che elabora i dati sugli eventi archiviati in un bucket Cloud Storage. L'archiviazione del payload dell'evento in un bucket Cloud Storage consente di criptare i dati utilizzando chiavi di crittografia gestite dal cliente, il che non è possibile se trasmetti i dati sugli eventi come variabili di ambiente al job Cloud Run.

Il seguente diagramma fornisce una panoramica generale:

L'evento Pub/Sub viene instradato dall'trigger Eventarc a Workflows e salvato nel bucket Cloud Storage. Il job Cloud Run elabora i dati sugli eventi archiviati nel bucket.

Obiettivi

In questo tutorial, imparerai a:

  1. Crea un job Cloud Run che elabora i dati sugli eventi archiviati in un bucket Cloud Storage.
  2. Esegui il deployment di un flusso di lavoro che:
    1. Riceve un evento come argomento.
    2. Scrive i dati del payload dell'evento nel bucket Cloud Storage.
    3. Utilizza il connettore dell'API Cloud Run Admin per eseguire il job Cloud Run.
  3. Crea un argomento Pub/Sub in cui pubblicare un messaggio. Questo tutorial utilizza un evento Pub/Sub come esempio di come instradare gli eventi utilizzando Workflows, salvando l'evento in Cloud Storage in modo che un job Cloud Run possa elaborare i dati dell'evento.
  4. Crea un attivatore Eventarc che esegua il flusso di lavoro quando viene scritto un messaggio nell'argomento Pub/Sub.
  5. Attiva il flusso di lavoro scrivendo un messaggio nell'argomento Pub/Sub.

Costi

In questo documento utilizzi 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 potrebbero essere idonei per una prova gratuita.

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 attivare API specifiche e creare un account di servizio gestito dall'utente. Devi concedere all'account di servizio i ruoli e le autorizzazioni necessari per poter instradare gli eventi utilizzando un attivatore Eventarc ed eseguire un workflow.

Tieni presente che se utilizzi Cloud Shell per provare questo tutorial, potresti dover assegnare ruoli aggiuntivi all'account di servizio predefinito di Compute Engine. Per maggiori dettagli, consulta la sezione Creare un job Cloud Run in questo documento.

Console

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. 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.

    4. Click Create and continue.
    5. 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.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. 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.

    4. Click Create and continue.
    5. 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.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  10. Se hai attivato l'agente di servizio Cloud Pub/Sub il giorno 8 aprile 2021 o in una data precedente per supportare le richieste push Pub/Sub autenticate, concedi all'agente di servizio il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator). In caso contrario, questo ruolo viene concesso per impostazione predefinita:
    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 Nome, individua l'account di servizio Cloud Pub/Sub 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 Creatore token account di servizio e poi seleziona il ruolo.
    6. Fai clic su Salva.
  11. 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.

  12. Cloud Shell supporta i passaggi a riga di comando in questo tutorial.

gcloud

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  7. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: 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

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  13. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: 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

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  14. Se hai attivato l'agente di servizio Cloud Pub/Sub il giorno 8 aprile 2021 o in una data precedente per supportare le richieste push Pub/Sub autenticate, concedi all'agente di servizio il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator). 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
  15. Sostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloud. Puoi trovare il numero del progetto nella pagina Welcome della console Google Cloud o eseguendo il seguente comando:

    gcloud projects describe PROJECT_ID --format='value(projectNumber)'

Crea un job Cloud Run

Questo tutorial utilizza codice campione che puoi trovare su GitHub. Lo script di deployment crea un'immagine container per creare un job Cloud Run. Lo script crea anche un bucket Cloud Storage. Il job Cloud Run legge tutti i dati sugli eventi archiviati nel bucket Cloud Storage e poi li stampa.

  1. Se stai eseguendo lo script di deployment in Cloud Shell e se l'account di servizio predefinito di Compute Engine non ha il ruolo Editor, concedi i seguenti ruoli nel progetto all'account di servizio predefinito di Compute Engine. In caso contrario, puoi saltare questo passaggio e procedere con la clonazione del repository dell'app di esempio nel passaggio successivo.

    1. Concedi il ruolo Artifact Registry Writer (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_NUMBER con il numero del tuo progetto Google Cloud. Puoi trovare il numero del progetto nella pagina Welcome della console Google Cloud o eseguendo il seguente comando:

      gcloud projects describe PROJECT_ID --format='value(projectNumber)'

    2. 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
    3. Concedi il ruolo Logs Writer per la registrazione (roles/logging.logWriter):

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/logging.logWriter
  2. 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 il sample come file ZIP

  3. Passa alla directory che contiene il codice di esempio:

    cd workflows-demos/cloud-run-jobs-payload-gcs/message-payload-job
  4. Crea il job Cloud Run eseguendo lo script di deployment:

    ./deploy-job.sh

Lo script crea un bucket Cloud Storage con il nome message-payload-PROJECT_ID, dove PROJECT_ID è l'ID del tuo progetto Google Cloud. Viene creato anche un job Cloud Run denominato message-payload-job.

Esegui il deployment di un flusso di lavoro che esegue il job Cloud Run

Definisci ed esegui il deployment di un flusso di lavoro che esegua il job Cloud Run che hai appena creato. Una definizione di flusso di lavoro è composta da una serie di passaggi descritti utilizzando la sintassi di Workflows.

Il flusso di lavoro riceve un evento, salva i dati dell'evento in un bucket Cloud Storage e poi esegue un job Cloud Run per elaborare i dati dell'evento.

Console

  1. Nella console Google Cloud, vai alla pagina Workflows:

    Vai a Flussi di lavoro

  2. Fai clic su Crea.

  3. Inserisci un nome per il nuovo flusso di lavoro, ad esempio message-payload-workflow.

  4. Scegli una regione appropriata, ad esempio us-central1.

  5. Nel campo Account di servizio, seleziona l'account di servizio creato in precedenza.

    L'account di servizio funge da identità del flusso di lavoro. Dovresti già aver concesso i seguenti ruoli all'account di servizio:

    • Amministratore di Cloud Run: per eseguire job Cloud Run
    • Logs Writer: per scrivere voci di log
    • Creatore oggetti Storage: per creare oggetti in Cloud Storage
  6. Fai clic su Avanti.

  7. Nell'editor del flusso di lavoro, inserisci la seguente definizione per il flusso di lavoro:

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  8. Fai clic su Esegui il deployment.

gcloud

  1. Crea un file di codice sorgente per il tuo flusso di lavoro:

    touch message-payload-workflow.yaml
  2. Copia la seguente definizione di flusso di lavoro in message-payload-workflow.yaml:

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  3. Esegui il deployment del flusso di lavoro inserendo il seguente 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 dell'account di servizio che hai creato in precedenza
    • PROJECT_ID: l'ID del tuo progetto Google Cloud

    L'account di servizio funge da identità del flusso di lavoro. Dovresti già aver concesso i seguenti ruoli all'account di servizio:

    • roles/logging.logWriter: per scrivere voci di log
    • roles/run.admin: per eseguire job Cloud Run
    • roles/storage.objectCreator: per creare oggetti in Cloud Storage

Il flusso di lavoro esegue le seguenti operazioni:

  1. init step: accetta un evento come argomento e imposta le variabili necessarie.

  2. Passaggio log_event: crea una voce di log in Cloud Logging utilizzando la funzione sys.log.

  3. Passaggio write_payload_to_gcs: invia una richiesta HTTP POST e scrive i dati del payload dell'evento in un file del bucket Cloud Storage.

  4. Passaggio run_job_to_process_payload: utilizza il metodo del connettore API Cloud Run Admin, googleapis.run.v1.namespaces.jobs.run, per eseguire il job. Il bucket Cloud Storage e il nome file dei dati vengono passati come variabili di override dal flusso di lavoro al job.

  5. Passaggio finish: restituisce informazioni sull'esecuzione del job come risultato del flusso di lavoro.

crea un argomento Pub/Sub

Crea un argomento Pub/Sub in cui pubblicare un messaggio. Un evento Pub/Sub viene utilizzato per dimostrare come instradare un evento utilizzando Workflows e salvarlo in Cloud Storage in modo che un job Cloud Run possa elaborare i dati dell'evento.

Console

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

    Vai ad Argomenti

  2. Fai clic su Crea argomento.

  3. Nel campo ID argomento, inserisci un ID per l'argomento, ad esempio message-payload-topic.

  4. Mantieni l'opzione Aggiungi una sottoscrizione predefinita.

  5. Non selezionare le altre opzioni.

  6. 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 il routing degli eventi al flusso di lavoro

Per eseguire automaticamente il flusso di lavoro e, a sua volta, il job Cloud Run, crea un trigger Eventarc che risponda agli eventi Pub/Sub e inoltri gli eventi al flusso di lavoro. Ogni volta che viene scritto un messaggio nell'argomento Pub/Sub, l'evento attiva un'esecuzione del flusso di lavoro.

Console

  1. Nella console Google Cloud, vai alla pagina Workflows:

    Vai a Flussi di lavoro

  2. Fai clic sul nome del flusso di lavoro, ad esempio message-payload-workflow.

  3. Nella pagina Dettagli flusso di lavoro, fai clic su Modifica.

  4. Nella pagina Modifica flusso di lavoro, fai clic su Aggiungi nuovo attivatore > Eventarc nella sezione Attivatori.

    Viene visualizzato il riquadro Trigger Eventarc.

  5. Nel campo Nome attivatore, inserisci un nome per l'attivatore, ad esempio message-payload-trigger.

  6. Nell'elenco Provider di eventi, seleziona Cloud Pub/Sub.

  7. Nell'elenco Evento, seleziona google.cloud.pubsub.topic.v1.messagePublished.

  8. Nell'elenco Seleziona un argomento Cloud Pub/Sub, seleziona l'argomento Pub/Sub che hai creato in precedenza.

  9. Nel campo Account di servizio, seleziona l'account di servizio creato in precedenza.

    L'account di servizio funge da identità dell'attivatore. Dovresti già aver concesso i seguenti ruoli all'account di servizio:

    • Eventarc Event Receiver: per ricevere eventi
    • Workflows Invoker: per eseguire i flussi di lavoro
  10. Fai clic su Salva trigger.

    L'attivatore Eventarc viene visualizzato ora nella sezione Trigger della pagina Modifica flusso di lavoro.

  11. Fai clic su Avanti.

  12. 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 Cloud
  • SERVICE_ACCOUNT_NAME: il nome dell'account di servizio creato in precedenza.

L'account di servizio funge da identità dell'attivatore. Dovresti già aver concesso i seguenti ruoli all'account di servizio:

  • roles/eventarc.eventReceiver: per ricevere eventi
  • roles/workflows.invoker: per eseguire i flussi di lavoro

Attiva il flusso di lavoro

Testa il sistema end-to-end pubblicando un messaggio nell'argomento Pub/Sub e generando un evento. Per ulteriori informazioni, consulta la sezione sull'attivazione di un flusso di lavoro con eventi o messaggi Pub/Sub.

  1. 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 flusso di lavoro che registra il messaggio dell'evento, salva i dati dell'evento nel bucket Cloud Storage ed esegue il job Cloud Run per elaborare i dati salvati in Cloud Storage. L'operazione può richiedere un minuto.

  2. 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.

  3. Per visualizzare le voci di log relative agli eventi create dall'attivazione del flusso di lavoro, esegui il seguente comando:

    gcloud logging read "resource.type=cloud_run_job AND textPayload:Payload"
    
  4. Cerca una voce di log simile alla seguente:

    textPayload: "Payload: {'message': {'data': 'SGVsbG8gV29ybGQ=', 'messageId': '8834108235224238',\
    \ 'publishTime': '2023-09-20T17:07:52.921Z'}, 'subscription': 'projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741'}"
    ...
    resource:
    labels:
      job_name: message-payload-job
      location: us-central1
      project_id: MY_PROJECT
    type: cloud_run_job
    textPayload: Processing message payload gs://message-payload-MY_PROJECT/8254002311197919.data.json
    
  5. Puoi verificare che i risultati siano quelli previsti visualizzando i dati sugli eventi nell'oggetto del bucket Cloud Storage.

    1. Recupera il nome del bucket:

      gcloud storage ls

      L'output è simile al seguente:

      gs://message-payload-PROJECT_ID/

    2. Elenca gli oggetti nel bucket:

      gcloud storage ls gs://message-payload-PROJECT_ID/** --recursive

      L'output dovrebbe essere simile al seguente:

      gs://message-payload-PROJECT_ID/OBJECT_ID.data.json

      Prendi nota del valore OBJECT_ID da utilizzare nel passaggio successivo.

    3. Scarica l'oggetto nel bucket come file:

      gcloud storage cp gs://message-payload-PROJECT_ID/OBJECT_ID.data.json message-event.txt

      Sostituisci OBJECT_ID con l'ID restituito nel passaggio precedente.

    4. 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 suo 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 che hai creato per il tutorial.

Per eliminare il progetto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Eliminare le risorse dei tutorial

Elimina le risorse che hai creato in questo tutorial:

  1. Elimina l'argomento Pub/Sub.

  2. Elimina l'attivatore Eventarc.

  3. Elimina il flusso di lavoro Workflows.

  4. Elimina il job Cloud Run.

  5. Elimina il bucket Cloud Storage.

Passaggi successivi