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

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Menginstal Google Cloud CLI.
  3. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  4. Buat atau pilih project Google Cloud.

    • Membuat project Google Cloud:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk project Google Cloud 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. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan API Cloud Resource Manager and Cloud Tasks:

    gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
  7. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login
  8. Menginstal Google Cloud CLI.
  9. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  10. Buat atau pilih project Google Cloud.

    • Membuat project Google Cloud:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk project Google Cloud 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.

  11. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  12. Aktifkan API Cloud Resource Manager and Cloud Tasks:

    gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
  13. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login
  14. Tujuan Akun layanan default App Engine otomatis dibuat saat Anda menggunakan App Engine. Anda dapat menggunakan layanan Google saat mencoba panduan memulai ini. Namun, bergantung pada konfigurasi kebijakan organisasi, akun layanan default mungkin tidak secara otomatis diberi peran Editor di project Anda. Jika begitu, Anda harus memberi akun layanan peran berikut:
    1. Administrator Artifact Registry (roles/artifactregistry.admin)
    2. Penulis Create-on-Push Artifact Registry (roles/artifactregistry.createOnPushWriter)
    3. Compute Admin (roles/compute.admin)
    4. Penulis Log (roles/logging.logWriter)
    5. Storage Object Viewer (roles/storage.objectViewer)

Menambahkan aplikasi App Engine

Saat Anda menargetkan tugas App Engine, dan sebelum Anda dapat men-deploy aplikasi ke lingkungan standar App Engine, Anda harus menambahkan Aplikasi App Engine pada proyek Anda.

  1. Pada konsol Google Cloud, buka halaman App Engine.

    Buka App Engine

  2. Dalam dialog Welcome to App Engine, lakukan salah satu tindakan berikut:

    • Jika Anda sudah membuat aplikasi App Engine dan ada Pesan Aplikasi App Engine Anda telah dibuat ditampilkan, Anda dapat lalu lewati langkah yang tersisa di bagian ini dan lanjutkan dengan langkah-langkah di bagian Menginstal dan men-deploy contoh.

      atau

    • Jika Anda belum membuat aplikasi App Engine, klik Buat aplikasi dan lanjutkan dengan langkah-langkah yang tersisa di bagian ini.

  3. Pilih wilayah untuk dan membuat catatannya.

    Perhatikan bahwa europe-west dan us-central masing-masing dipanggil, europe-west1 dan us-central1 dalam perintah Cloud Tasks.

  4. Jangan pilih akun layanan; layanan App Engine default akun digunakan.

  5. Klik Berikutnya.

    Aplikasi dikonfigurasi dan dibuat. Proses ini dapat memerlukan waktu beberapa menit.

  6. Jangan mendownload Cloud SDK; sebagai gantinya, klik Saya akan melakukannya nanti.

    Anda akan melihat pesan Your App Engine application has been created.

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.

  1. Di terminal Anda, clone repositori aplikasi contoh ke lokasi lokal Anda mesin Linux dan Windows.

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
    
  2. Buka direktori yang berisi kode contoh.

    cd nodejs-docs-samples/cloud-tasks/snippets
    
  3. Instal semua dependensi menggunakan pengelola paket Node.js.

    Anda dapat menggunakan NPM:

    npm install
    

    Atau, Anda dapat menggunakan Yarn:

    yarn install
    
  4. Deploy layanan pekerja (server.js) ke standar App Engine lingkungan fleksibel App Engine.

    gcloud app deploy app.yaml
    
  5. Pastikan aplikasi yang berisi layanan sedang berjalan.

    gcloud app browse
    
  6. Di browser Anda, buka link yang tersedia. Contoh:

    https://PROJECT_ID.uc.r.appspot.com/
    

    Anda akan melihat Hello, World! ditampilkan.

Membuat antrean Cloud Tasks

Menggunakan gcloud tasks queues create untuk membuat antrean di lingkungan yang telah Anda siapkan.

  1. Di terminal Anda, buat antrean yang mencatat semua operasi ke dalam log.

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

    Ganti kode berikut:

    • QUEUE_NAME: nama untuk Cloud Tasks antrean
    • REGION: region tempat Anda men-deploy aplikasi
  2. Tunggu hingga antrean diinisialisasi, lalu verifikasi bahwa antrean telah dibuat memulai proyek.

    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, lalu kirimkan tugas itu ke dan layanan pekerja.

  1. Setel variabel lingkungan berikut. Klien menggunakan informasi ini untuk membuat permintaan.

    export PROJECT_ID=PROJECT_ID
    export LOCATION_ID=REGION
    export QUEUE_ID=QUEUE_NAME
    
  2. Buat tugas dengan payload hello, lalu tambahkan tugas itu ke antrean Anda. Tujuan payload dapat berupa data apa pun dari permintaan yang perlu oleh layanan pekerja memproses tugas.

    node createTask.js $PROJECT_ID $QUEUE_ID $LOCATION_ID hello
    
  3. Verifikasi bahwa tugas telah dieksekusi dengan menampilkan log pekerja layanan.

    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 pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.

Menghapus project Google Cloud:

gcloud projects delete PROJECT_ID

Atau, Anda dapat menghapus referensi yang dibuat:

  1. Hapus antrean Cloud Tasks:

    gcloud tasks queues delete QUEUE_NAME \
        --location=REGION
    
  2. Nonaktifkan aplikasi App Engine.

Langkah selanjutnya