Aggiungi un'attività di destinazione HTTP a una coda di Cloud Tasks

Questa guida rapida mostra come aggiungere un' attività di destinazione HTTP a una coda di Cloud Tasks utilizzando l'API Cloud Tasks.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento 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.
  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. 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 su cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l' resourcemanager.projects.create autorizzazione. Scopri come concedere i ruoli.
    • Crea un Google Cloud progetto:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il Google Cloud progetto che stai creando.

    • Seleziona il Google Cloud progetto che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del Google Cloud progetto.

  6. Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.

  7. Abilita l'API Cloud Tasks:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l' serviceusage.services.enable autorizzazione. Scopri come concedere i ruoli.

    gcloud services enable cloudtasks.googleapis.com
  8. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:

    gcloud auth application-default login

    Non devi eseguire questa operazione se utilizzi Cloud Shell.

    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

  9. Concedi i ruoli al tuo account utente. Esegui il comando seguente una volta per ciascuno dei seguenti ruoli IAM: roles/cloudtasks.admin, roles/logging.viewer

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.
    • USER_IDENTIFIER: l'identificatore del tuo account utente. Ad esempio, myemail@example.com.
    • ROLE: il ruolo IAM che concedi al tuo account utente.
  10. Installa Google Cloud CLI.

  11. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  12. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  13. 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 su cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l' resourcemanager.projects.create autorizzazione. Scopri come concedere i ruoli.
    • Crea un Google Cloud progetto:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il Google Cloud progetto che stai creando.

    • Seleziona il Google Cloud progetto che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del Google Cloud progetto.

  14. Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.

  15. Abilita l'API Cloud Tasks:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l' serviceusage.services.enable autorizzazione. Scopri come concedere i ruoli.

    gcloud services enable cloudtasks.googleapis.com
  16. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:

    gcloud auth application-default login

    Non devi eseguire questa operazione se utilizzi Cloud Shell.

    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

  17. Concedi i ruoli al tuo account utente. Esegui il comando seguente una volta per ciascuno dei seguenti ruoli IAM: roles/cloudtasks.admin, roles/logging.viewer

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.
    • USER_IDENTIFIER: l'identificatore del tuo account utente. Ad esempio, myemail@example.com.
    • ROLE: il ruolo IAM che concedi al tuo account utente.

Crea una coda di attività Cloud Tasks

Utilizza il gcloud tasks queues create comando per creare la coda.

  1. Nel terminale, crea una coda che registra tutte le operazioni.

    gcloud tasks queues create QUEUE_NAME \
        --log-sampling-ratio=1.0 \
        --location=REGION
    

    Sostituisci quanto segue:

    • QUEUE_NAME: un nome per la coda di Cloud Tasks
    • REGION: la regione supportata in cui hai eseguito il deployment del servizio o dell'app
  2. Attendi l'inizializzazione della coda e poi verifica che sia stata creata correttamente.

    gcloud tasks queues describe QUEUE_NAME \
        --location=REGION
    

    L'output dovrebbe essere simile al seguente:

     name: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_NAME
     rateLimits:
       maxBurstSize: 100
       maxConcurrentDispatches: 1000
       maxDispatchesPerSecond: 500.0
     retryConfig:
       maxAttempts: 100
       maxBackoff: 3600s
       maxDoublings: 16
       minBackoff: 0.100s
     state: RUNNING
    

Aggiungi un'attività alla coda di Cloud Tasks

Utilizza il gcloud tasks create-http-task comando per creare un'attività che ha come target un endpoint HTTP e aggiungerla alla coda.

  1. Crea un'attività, aggiungila alla coda che hai creato e inviala a un endpoint HTTP.

    gcloud tasks create-http-task \
        --queue=QUEUE_NAME \
        --url=URL_PATH \
        --method=GET \
        --location=REGION \
        --project=PROJECT_ID
    

    Sostituisci URL_PATH con il percorso dell'URL completo a cui verrà inviata la richiesta. Il percorso deve iniziare con http:// o https://, ad esempio https://www.example.com.

  2. Verifica che l'attività sia stata eseguita correttamente leggendo i log.

    gcloud logging read --limit=3
    

    I log dovrebbero avere un aspetto simile al seguente:

    jsonPayload:
    '@type': type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog
    task: projects/PROJECT_ID/locations/REGION/queues/QUEUE_NAME/tasks/TASK_ID
    taskCreationLog:
       scheduleTime: '2024-07-04T19:00:27.801837Z'
       status: OK
       targetAddress: GET https://www.example.com/
       targetType: HTTP
    

Libera spazio

Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il Google Cloud progetto con le risorse.

Elimina un Google Cloud progetto:

gcloud projects delete PROJECT_ID

In alternativa, puoi eliminare la coda di Cloud Tasks:

gcloud tasks queues delete QUEUE_NAME \
    --location=REGION

Passaggi successivi