Menambahkan tugas App Engine ke antrean Cloud Tasks
Panduan memulai ini menunjukkan cara menambahkan tugas App Engine ke antrean Cloud Tasks menggunakan Cloud Tasks API.
Sebelum memulai
- 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
-
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.
- Akun layanan default App Engine
dibuat secara otomatis saat Anda menggunakan App Engine. Anda dapat menggunakan akun layanan ini saat mencoba panduan memulai ini. Namun, bergantung pada konfigurasi kebijakan organisasi Anda, akun layanan default mungkin tidak otomatis diberi peran
Editor
di project Anda. Jika demikian, Anda harus memberikan peran berikut ke akun layanan:- Administrator Artifact Registry (
roles/artifactregistry.admin
) - Artifact Registry Create-on-Push Writer (
roles/artifactregistry.createOnPushWriter
) - Compute Admin (
roles/compute.admin
) - Logs Writer (
roles/logging.logWriter
) - Storage Object Viewer (
roles/storage.objectViewer
)
- Administrator Artifact Registry (
Menambahkan aplikasi App Engine
Saat menargetkan tugas App Engine, dan sebelum dapat men-deploy aplikasi ke lingkungan standar App Engine, Anda harus menambahkan aplikasi App Engine ke project.
Pada konsol Google Cloud, buka halaman App Engine.
Pada dialog Welcome to App Engine, lakukan salah satu hal berikut:
Jika sudah membuat aplikasi App Engine dan ada pesan Aplikasi App Engine Anda telah dibuat yang ditampilkan, Anda dapat melewati langkah-langkah lainnya di bagian ini dan melanjutkan dengan langkah-langkah di bagian Menginstal dan men-deploy contoh.
atau
Jika Anda belum membuat aplikasi App Engine, klik Create application dan lanjutkan dengan langkah-langkah lainnya di bagian ini.
Pilih region untuk aplikasi Anda dan catat.
Perhatikan bahwa
europe-west
danus-central
masing-masing disebuteurope-west1
danus-central1
dalam perintah Cloud Tasks.Jangan pilih akun layanan; akun layanan App Engine default akan digunakan.
Klik Berikutnya.
Aplikasi dikonfigurasi dan dibuat. Proses ini dapat memerlukan waktu beberapa menit.
Jangan download Cloud SDK; sebagai gantinya, klik Saya akan melakukannya nanti.
Anda akan melihat pesan Aplikasi App Engine Anda telah dibuat.
Menginstal dan men-deploy contoh
Contoh Node.js yang digunakan dalam panduan memulai ini terdiri dari dua file:
createTask.js
dijalankan secara lokal sebagai alat command line untuk membuat dan menambahkan tugas ke
antrean Tasks; server.js
di-deploy di App Engine sebagai
layanan pekerja untuk memproses tugas.
Di terminal, clone repositori aplikasi contoh ke mesin lokal Anda.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Buka direktori yang berisi kode contoh.
cd nodejs-docs-samples/cloud-tasks/snippets
Instal semua dependensi menggunakan pengelola paket Node.js.
Anda dapat menggunakan NPM:
npm install
Atau, Anda dapat menggunakan Yarn:
yarn install
Deploy layanan pekerja (
server.js
) ke lingkungan standar App Engine.gcloud app deploy app.yaml
Pastikan aplikasi yang berisi layanan sedang berjalan.
gcloud app browse
Di browser, buka link yang diberikan. Contoh:
https://PROJECT_ID.uc.r.appspot.com/
Anda akan melihat
Hello, World!
ditampilkan.
Membuat antrean Cloud Tasks
Gunakan perintah gcloud tasks queues create
untuk membuat antrean di lingkungan yang telah Anda siapkan.
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 AndaREGION
: region tempat Anda men-deploy aplikasi
Tunggu hingga antrean diinisialisasi, lalu verifikasi bahwa 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
Buat tugas, tambahkan ke antrean yang Anda buat, dan kirimkan tugas tersebut ke layanan pekerja.
Tetapkan variabel lingkungan berikut. Klien menggunakan informasi ini untuk membuat permintaan.
export PROJECT_ID=PROJECT_ID export LOCATION_ID=REGION export QUEUE_ID=QUEUE_NAME
Buat tugas dengan payload
hello
dan tambahkan tugas tersebut ke antrean Anda. Payload dapat berupa data apa pun dari permintaan yang diperlukan layanan pekerja untuk memproses tugas.node createTask.js $PROJECT_ID $QUEUE_ID $LOCATION_ID hello
Pastikan tugas dijalankan dengan menampilkan log layanan pekerja.
gcloud app logs read
Log akan terlihat seperti berikut:
2024-06-20 15:00:00 default[20240620t143852] "POST /log_payload HTTP/1.1" 200 2024-06-20 15:00:00 default[20240620t143852] App listening on port 8081 2024-06-20 15:00:00 default[20240620t143852] Press Ctrl+C to quit. 2024-06-20 15:00:00 default[20240620t143852] Received task with payload: hello
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Atau, Anda dapat menghapus resource yang dibuat:
Hapus antrean Tugas Cloud:
gcloud tasks queues delete QUEUE_NAME \ --location=REGION