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
-
Instal Google Cloud CLI.
-
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
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 izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
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
-
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.
-
Berikan peran ke akun pengguna Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/cloudtasks.admin, roles/logging.viewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ganti kode berikut:
PROJECT_ID: Project ID Anda.USER_IDENTIFIER: ID untuk akun akun. Untuk mengetahui contohnya, lihat Merepresentasikan pengguna workforce pool dalam kebijakan IAM.ROLE: Peran IAM yang Anda berikan ke akun pengguna Anda.
Membuat antrean Cloud Tasks
Gunakan perintah gcloud tasks queues create untuk membuat antrean.
Di terminal, buat antrean yang mencatat semua operasi.
gcloud tasks queues create QUEUE_NAME \ --log-sampling-ratio=1.0 \ --location=REGIONGanti kode berikut:
QUEUE_NAME: nama untuk antrean Cloud Tasks AndaREGION: wilayah yang didukung tempat Anda men-deploy layanan atau aplikasi
Tunggu hingga antrean diinisialisasi, lalu pastikan antrean berhasil dibuat.
gcloud tasks queues describe QUEUE_NAME \ --location=REGIONOutputnya 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.
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_IDGanti
URL_PATHdengan jalur URL lengkap tempat permintaan akan dikirim. Jalur harus diawali denganhttp://atauhttps://—misalnya:https://www.example.com.Pastikan tugas berhasil dieksekusi dengan membaca log.
gcloud logging read 'resource.type="cloud_tasks_queue" resource.labels.queue_id="QUEUE_NAME" severity>=DEFAULT' --limit=3Log 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