Adicionar uma tarefa de destino HTTP a uma fila do Cloud Tasks

Neste guia de início rápido, mostramos como adicionar um Tarefa de destino HTTP para uma Fila do Cloud Tasks usando a API Cloud Tasks.

Antes de começar

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Enable the Cloud Tasks API:

    gcloud services enable tasks.googleapis.com
  7. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  12. Enable the Cloud Tasks API:

    gcloud services enable tasks.googleapis.com
  13. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

Criar uma fila do Cloud Tasks

Usar o gcloud tasks queues create para criar a fila.

  1. No seu terminal, crie uma fila que registre todas as operações.

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

    Substitua:

    • QUEUE_NAME: um nome para o Cloud Tasks. fila
    • REGION: a região em que você implantou seu serviço ou app
  2. Aguarde a inicialização da fila e verifique se ela foi criada com sucesso.

    gcloud tasks queues describe QUEUE_NAME \
        --location=REGION
    

    A saída será semelhante a esta:

     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
    

Adicionar uma tarefa à fila do Cloud Tasks

Use o gcloud tasks create-http-task para criar uma tarefa que tem como alvo um endpoint HTTP e adicionar a tarefa ao seu fila.

  1. Criar uma tarefa, adicioná-la à fila que você criou e entregar essa tarefa a um endpoint HTTP.

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

    Substitua URL_PATH pelo caminho de URL completo para onde a solicitação será enviada. Por exemplo: https://www.google.com

    O caminho precisa começar com http:// ou https://.

  2. Leia os registros para verificar se a tarefa foi executada corretamente.

    gcloud logging read --limit=3
    

    Os registros devem ser semelhantes aos seguintes:

    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.google.com/
       targetType: HTTP
    

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID

Como alternativa, é possível excluir a fila do Cloud Tasks:

gcloud tasks queues delete QUEUE_NAME \
    --location=REGION

A seguir