arrow_back

Cloud Functions: Qwik Start - Command Line

Login Gabung
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Functions: Qwik Start - Command Line

Lab 30 menit universal_currency_alt 1 Kredit show_chart Pengantar
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP080

Lab Mandiri Google Cloud

Ringkasan

Cloud function merupakan sebuah kode pendek yang dijalankan untuk merespons sebuah peristiwa, misalnya permintaan HTTP, pesan dari layanan pesan, atau upload file. Peristiwa cloud adalah hal-hal yang terjadi di lingkungan cloud Anda. Hal-hal tersebut dapat berupa perubahan data dalam database, file yang ditambahkan ke sistem penyimpanan, atau instance virtual machine baru yang dibuat.

Karena dijalankan berdasarkan peristiwa, cloud function hanya dijalankan saat sesuatu terjadi. Hal ini menjadikan cloud function sebagai pilihan bagus untuk tugas-tugas yang harus dikerjakan dengan cepat atau yang tidak perlu dijalankan sepanjang waktu.

Sebagai contoh, Anda dapat menggunakan cloud function untuk:

  • membuat thumbnail secara otomatis untuk gambar yang diupload ke Cloud Storage.
  • mengirimkan notifikasi ke telepon pengguna ketika ada pesan baru diterima di Cloud Pub/Sub.
  • memproses data dari database Cloud Firestore dan membuat laporan.

Anda dapat menulis kode dalam bahasa apa pun yang mendukung Node.js, dan Anda dapat men-deploy kode ke cloud hanya dengan beberapa klik. Setelah cloud function Anda di-deploy, function tersebut secara otomatis akan mulai dijalankan saat merespons peristiwa.

Lab praktik ini menunjukkan kepada Anda cara membuat, men-deploy, dan menguji cloud function menggunakan Konsol Google Cloud.

Lab praktik ini menunjukkan kepada Anda cara membuat, men-deploy, dan menguji cloud function menggunakan command line Google Cloud Shell.

Yang akan Anda lakukan

  • Membuat cloud function sederhana
  • Men-deploy dan menguji function
  • Melihat log

Penyiapan

Sebelum mengklik tombol Mulai Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan berikut ini:

    • Tombol Open Google Console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Console. Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Login.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username dari panel Lab Details dan tempel ke dialog Sign in. Klik Next.

  4. Salin Password dari panel Lab Details dan tempel ke dialog Welcome. Klik Next.

    Penting: Anda harus menggunakan kredensial dari panel sebelah kiri. Jangan menggunakan kredensial Google Cloud Skills Boost. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  5. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

Catatan: Anda dapat melihat menu dengan daftar Produk dan Layanan Google Cloud dengan mengklik Menu navigasi di kiri atas. Ikon menu navigasi

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Membuat cloud function

Pertama, Anda akan membuat function sederhana bernama helloWorld. Function ini menulis pesan ke log Cloud Functions. Function ini dipicu oleh peristiwa cloud function dan menerima fungsi callback yang digunakan untuk menandakan penyelesaian function tersebut.

Untuk lab ini, peristiwa cloud function-nya adalah peristiwa topik cloud pub/sub. Pub/sub adalah layanan pesan yang memisahkan pengirim pesan dari penerima pesan. Saat pesan dikirim atau diposting, langganan diperlukan agar penerima pesan dapat memperoleh pemberitahuan dan menerima pesan tersebut. Untuk mempelajari pub/sub lebih lanjut, di dalam Panduan Cloud Pub/Sub, lihat Google Cloud Pub/Sub: Layanan Pesan dengan Skala Google.

Untuk mempelajari parameter peristiwa dan parameter callback lebih lanjut, di dalam Dokumentasi Cloud Functions, lihat Fungsi Latar Belakang.

Untuk membuat cloud function:

  1. Di Cloud Shell, jalankan perintah berikut untuk menetapkan region default:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Buat direktori untuk kode function:
mkdir gcf_hello_world
  1. Pindah ke direktori gcf_hello_world:
cd gcf_hello_world
  1. Buat dan buka index.js untuk mengedit:
nano index.js
  1. Salin kode berikut ke file index.js:
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data The event payload. * @param {object} context The event metadata. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Keluar dari nano (Ctrl+x) dan simpan (Y) file tersebut.

Tugas 2. Membuat bucket Cloud Storage

  • Gunakan perintah berikut untuk membuat bucket Cloud Storage baru bagi function Anda:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]

PROJECT_ID adalah ID Project di panel detail lab di sisi kiri lab ini:

BUCKET_NAME adalah nama yang Anda berikan pada bucket. Anda dapat menggunakan ID Project sebagai nama bucket untuk memastikan nama yang unik secara global:

Untuk mempelajari penamaan bucket lebih lanjut, di dalam dokumentasi Cloud Storage, lihat Panduan penamaan bucket.

Menguji Tugas yang Telah Diselesaikan

Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan diberi skor penilaian.

Membuat bucket Cloud Storage.

Tugas 3. Men-deploy function

Ketika men-deploy function baru, Anda harus menentukan --trigger-topic, --trigger-bucket, atau --trigger-http. Saat men-deploy perubahan ke function yang ada, function tersebut akan menyimpan pemicu yang ada kecuali jika ditentukan lain.

Untuk lab ini, Anda akan menetapkan --trigger-topic sebagai hello_world.

  1. Nonaktifkan Cloud Functions API:
gcloud services disable cloudfunctions.googleapis.com
  1. Aktifkan kembali Cloud Functions API:
gcloud services enable cloudfunctions.googleapis.com
  1. Tambahkan izin artifactregistry.reader untuk akun layanan appspot Anda. Ganti [PROJECT_ID] dengan ID Project qwiklabs Anda:
gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member="serviceAccount:[PROJECT_ID]@appspot.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  1. Deploy function ini ke topik pub/sub yang bernama hello_world, dan ganti [BUCKET_NAME] dengan nama bucket Anda:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Catatan: Jika Anda menerima OperationError, abaikan peringatan dan jalankan kembali perintah tersebut.

Jika diminta, masukkan Y untuk mengizinkan pemanggilan function baru yang tidak diautentikasi.

  1. Verifikasi status function tersebut:
gcloud functions describe helloWorld

Status ACTIVE menunjukkan bahwa function telah di-deploy.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Setiap pesan yang dipublikasikan dalam topik akan memicu eksekusi function. Isi pesan tersebut kemudian diteruskan sebagai data input.

Menguji Tugas yang Telah Diselesaikan

Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika berhasil menyelesaikan tugas, Anda akan menerima skor penilaian.

Men-deploy function.

Tugas 4. Menguji function

Setelah Anda men-deploy function dan mengetahui bahwa ia aktif, uji apakah function tersebut menulis pesan ke log cloud setelah mendeteksi suatu peristiwa.

  • Masukkan perintah berikut guna membuat pengujian pesan untuk function tersebut:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

Alat cloud akan menampilkan ID eksekusi untuk function tersebut, yang berarti pesan telah ditulis dalam log.

Contoh output:

executionId: 3zmhpf7l6j5b

Lihat log untuk mengonfirmasi bahwa ada pesan log dengan ID eksekusi tersebut.

Tugas 5. Melihat log

  • Periksa log untuk melihat pesan Anda dalam histori log:
gcloud functions logs read helloWorld

Jika function berhasil dieksekusi, pesan dalam log akan muncul seperti berikut:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Catatan: Log akan membutuhkan waktu sekitar 10 menit untuk muncul. Cara alternatif untuk melihat log adalah dengan membuka Logging > Logs Explorer.

Aplikasi Anda telah di-deploy, diuji, dan Anda dapat melihat log-nya.

Tugas 6. Menguji pemahaman Anda

Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.

Selamat!

Anda menggunakan konsol Google Cloud untuk membuat, men-deploy, dan menguji cloud function menggunakan command line.

Ikuti lab berikutnya

Lab ini merupakan bagian dari rangkaian lab yang disebut Qwik Start. Lab ini dirancang agar Anda dapat mencoba berbagai fitur yang tersedia dengan Google Cloud. Telusuri "Qwik Start" di katalog lab untuk menemukan lab berikutnya yang ingin Anda ikuti.

Langkah berikutnya/Pelajari lebih lanjut

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 08 April 2024

Lab Terakhir Diuji pada 08 April 2024

Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.