Menambahkan tugas target HTTP ke antrean Cloud Tasks

Panduan memulai ini menunjukkan cara menambahkan tugas target HTTP ke antrean Cloud Tasks menggunakan Cloud Tasks API.

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 mana pun yang telah diberi peran.
    • 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 Google Cloud project yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama Google Cloud project Anda.

  5. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

  6. Aktifkan Cloud Tasks API:

    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, dan Anda menggunakan penyedia identitas (IdP) eksternal, 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: Peran IAM: 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 gcloud tasks queues create perintah untuk membuat antrean.

  1. Di terminal Anda, 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: region 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 gcloud tasks create-http-task perintah untuk membuat tugas yang menargetkan endpoint HTTP dan menambahkan tugas ke antrean Anda.

  1. Buat tugas, tambahkan ke antrean yang Anda buat, dan kirim 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 yang akan dikirimi permintaan. Jalur harus dimulai 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 mirip dengan berikut ini:

    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 Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project yang berisi resource tersebut. Google Cloud Google Cloud

Hapus a 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