Menambahkan tugas target HTTP ke antrean Cloud Tasks

Dengan Cloud Tasks, Anda dapat mengirim tugas asinkron ke target HTTP sambil mengontrol kecepatan eksekusi dan perilaku percobaan ulang. Dalam panduan memulai ini, Anda menggunakan Cloud Tasks API untuk membuat antrean dan menambahkan tugas target HTTP ke antrean tersebut.

Sebelum memulai

  1. Instal Google Cloud CLI.

  2. Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.

  3. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  4. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  5. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan Cloud Tasks API, jika belum diaktifkan:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    gcloud services enable cloudtasks.googleapis.com
  7. Buat kredensial autentikasi lokal untuk akun pengguna Anda:

    gcloud auth application-default login

    Jika error autentikasi ditampilkan, pastikan Anda telah login ke gcloud CLI dengan identitas gabungan Anda.

  8. Berikan peran ke akun pengguna Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut: roles/cloudtasks.admin, roles/logging.viewer

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

    Ganti kode berikut:

Membuat antrean Cloud Tasks

Gunakan perintah gcloud tasks queues create untuk membuat antrean.

  1. Di terminal, buat antrean yang mencatat semua operasi.

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

    Ganti kode berikut:

    • QUEUE_NAME: nama untuk antrean Cloud Tasks Anda
    • REGION: wilayah yang didukung tempat Anda men-deploy layanan atau aplikasi
  2. Tunggu hingga antrean diinisialisasi, lalu pastikan antrean berhasil dibuat.

    gcloud tasks queues describe QUEUE_NAME \
        --location=REGION
    

    Outputnya akan mirip dengan berikut ini:

     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
    

Menambahkan tugas ke antrean Cloud Tasks

Gunakan perintah gcloud tasks create-http-task untuk membuat tugas yang menargetkan endpoint HTTP dan menambahkan tugas ke antrean Anda.

  1. Buat tugas, tambahkan ke antrean yang Anda buat, dan kirimkan tugas tersebut ke endpoint HTTP.

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

    Ganti URL_PATH dengan jalur URL lengkap tempat permintaan akan dikirim. Jalur harus diawali dengan http:// atau https://—misalnya: https://www.example.com.

  2. Pastikan tugas berhasil dieksekusi dengan membaca log.

    gcloud logging read 'resource.type="cloud_tasks_queue" resource.labels.queue_id="QUEUE_NAME" severity>=DEFAULT' --limit=3
    

    Log akan terlihat seperti berikut:

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

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.

Menghapus Google Cloud project:

gcloud projects delete PROJECT_ID

Atau, Anda dapat menghapus antrean Cloud Tasks:

gcloud tasks queues delete QUEUE_NAME \
    --location=REGION

Langkah berikutnya