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.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
- Akun layanan default App Engine dibuat secara otomatis saat Anda menggunakan App Engine. Anda dapat menggunakan akun layanan ini saat mencoba panduan memulai cepat ini. Namun, bergantung pada konfigurasi kebijakan organisasi Anda, akun layanan default mungkin tidak otomatis diberi peran
Editordi project Anda. Jika demikian, Anda harus memberi akun layanan peran berikut:- Administrator Artifact Registry (
roles/artifactregistry.admin) - Penulis Create-on-Push Artifact Registry (
roles/artifactregistry.createOnPushWriter) - Compute Admin (
roles/compute.admin) - Logs Writer (
roles/logging.logWriter) - Storage Object Viewer (
roles/storage.objectViewer)
- Administrator Artifact Registry (
Di konsol Google Cloud , buka halaman App Engine.
Pada dialog Welcome to App Engine, lakukan salah satu hal berikut:
Jika Anda telah membuat aplikasi App Engine dan pesan Your App Engine application has been created ditampilkan, Anda dapat melewati langkah-langkah yang tersisa 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 yang tersisa di bagian ini.
Pilih region untuk aplikasi Anda dan catat region tersebut.
Perhatikan bahwa
europe-westdanus-centralmasing-masing dipanggil sebagaieurope-west1danus-central1dalam perintah Cloud Tasks.Jangan memilih akun layanan; akun layanan App Engine default akan digunakan.
Klik Berikutnya.
Aplikasi dikonfigurasi dan dibuat. Proses ini dapat membutuhkan waktu beberapa menit.
Jangan download Cloud SDK; sebagai gantinya, klik Saya akan melakukannya nanti.
Anda akan melihat pesan Your App Engine application has been created.
Di terminal, clone repositori aplikasi contoh ke komputer lokal Anda.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.gitBuka direktori yang berisi kode contoh.
cd nodejs-docs-samples/cloud-tasks/snippetsInstal semua dependensi menggunakan pengelola paket Node.js.
Anda dapat menggunakan NPM:
npm installAtau, Anda dapat menggunakan Yarn:
yarn installDeploy layanan pekerja (
server.js) ke lingkungan standar App Engine.gcloud app deploy app.yamlPastikan aplikasi yang berisi layanan sedang berjalan.
gcloud app browseDi browser, buka link yang diberikan. Contoh:
https://PROJECT_ID.uc.r.appspot.com/Anda akan melihat
Hello, World!ditampilkan.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: region tempat Anda men-deploy aplikasi
Tunggu hingga antrean diinisialisasi, lalu verifikasi bahwa 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: RUNNINGTetapkan variabel lingkungan berikut. Klien menggunakan informasi ini untuk membuat permintaan.
export PROJECT_ID=PROJECT_ID export LOCATION_ID=REGION export QUEUE_ID=QUEUE_NAMEBuat tugas dengan payload
hellodan tambahkan tugas tersebut ke antrean Anda. Payload dapat berupa data apa pun dari permintaan yang diperlukan oleh layanan pekerja untuk memproses tugas.node createTask.js $PROJECT_ID $QUEUE_ID $LOCATION_ID helloPastikan tugas telah dijalankan dengan menampilkan log layanan worker.
gcloud app logs readLog 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: helloHapus antrean Cloud Tasks:
gcloud tasks queues delete QUEUE_NAME \ --location=REGION
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 Anda.
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 Tugas; server.js di-deploy di App Engine sebagai
layanan pekerja untuk memproses tugas.
Membuat antrean Cloud Tasks
Gunakan perintah gcloud tasks queues create
untuk membuat antrean di lingkungan yang telah Anda siapkan.
Menambahkan tugas ke antrean Cloud Tasks
Buat tugas, tambahkan ke antrean yang Anda buat, dan kirimkan tugas tersebut ke layanan worker.
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 Anda buat: