将 HTTP 目标任务添加到 Cloud Tasks 队列

本快速入门介绍如何使用 Cloud Tasks API 将 HTTP 目标任务添加到 Cloud Tasks 队列。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 安装 Google Cloud CLI。
  3. 如需初始化 gcloud CLI,请运行以下命令:

    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. 确保您的 Google Cloud 项目已启用结算功能

  6. Enable the Cloud Tasks API:

    gcloud services enable tasks.googleapis.com
  7. 为您的 Google 账号创建本地身份验证凭据:

    gcloud auth application-default login
  8. 安装 Google Cloud CLI。
  9. 如需初始化 gcloud CLI,请运行以下命令:

    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. 确保您的 Google Cloud 项目已启用结算功能

  12. Enable the Cloud Tasks API:

    gcloud services enable tasks.googleapis.com
  13. 为您的 Google 账号创建本地身份验证凭据:

    gcloud auth application-default login

创建 Cloud Tasks 队列

使用 gcloud tasks queues create 命令创建队列。

  1. 在您的终端中,创建一个记录所有操作的队列。

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

    请替换以下内容:

    • QUEUE_NAME:您的 Cloud Tasks 队列的名称
    • REGION:您在其中部署服务或应用的区域
  2. 等待队列初始化,然后验证队列是否已成功创建。

    gcloud tasks queues describe QUEUE_NAME \
        --location=REGION
    

    输出应类似如下所示:

     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
    

向 Cloud Tasks 队列添加任务

使用 gcloud tasks create-http-task 命令创建针对 HTTP 端点的任务,并将该任务添加到队列中。

  1. 创建任务,将其添加到您创建的队列,并将该任务交付到 HTTP 端点。

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

    URL_PATH 替换为请求将发送到的完整网址路径。例如 https://www.google.com

    路径必须以 http://https:// 开头。

  2. 通过读取日志来验证任务是否已成功执行。

    gcloud logging read --limit=3
    

    日志应类似于以下内容:

    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
    

清理

为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。

删除 Google Cloud 项目:

gcloud projects delete PROJECT_ID

或者,您也可以删除 Cloud Tasks 队列:

gcloud tasks queues delete QUEUE_NAME \
    --location=REGION

后续步骤