arrow_back

Cloud Functions: Qwik Start - Command Line

Login Gabung
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Cloud Functions: Qwik Start - Command Line

Lab 30 menit universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

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 di-deploy, cloud function Anda 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
  • Men-deploy dan menguji cloud 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 info berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    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 di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

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

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

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 run/region {{{project_0.default_region |REGION}}}
  2. Buat direktori untuk kode function:

    mkdir gcf_hello_world && cd $_
  3. Buat dan buka index.js untuk mengedit:

    nano index.js
  4. Salin kode berikut ke file index.js:

    const functions = require('@google-cloud/functions-framework'); // Register a CloudEvent callback with the Functions Framework that will // be executed when the Pub/Sub trigger topic receives a message. functions.cloudEvent('helloPubSub', cloudEvent => { // The Pub/Sub message is passed as the CloudEvent's data payload. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World'; console.log(`Hello, ${name}!`); });
  5. Keluar dari nano (Ctrl+x) dan simpan (Y) file tersebut.

  6. Buat dan buka package.json untuk mengedit:

  7. Salin kode berikut ke file package.json:

    { "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
  8. Keluar dari nano (Ctrl+x) dan simpan (Y) file tersebut.

  9. Instal dependensi paket

    npm install

    Output yang Diharapkan:

    added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities

Tugas 2. Men-deploy function

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

Catatan:
Cloud Functions didasarkan pada peristiwa, yang berarti jenis pemicu harus ditentukan. Saat men-deploy function baru, `--trigger-topic`, `--trigger-bucket`, atau `--trigger-http` adalah peristiwa pemicu yang umum. Saat men-deploy perubahan ke function yang ada, function tersebut akan mempertahankan pemicu yang ada kecuali jika ditentukan lain.
  1. Deploy function helloPubSub ke topik pub/sub yang bernama cf-demo

    gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | WILAYAH }}} \ --source=. --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Catatan:
    Jika Anda mendapatkan notifikasi serviceAccountTokenCreator akun layanan, pilih "n".
  2. Verifikasi status function tersebut:

    gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}}

    Status ACTIVE menunjukkan bahwa function telah di-deploy.

    Output yang Diharapkan:

    BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function

Tiap 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 3. Menguji function

Setelah Anda men-deploy function dan sudah aktif, uji apakah function tersebut menulis pesan ke log cloud atau tidak setelah mendeteksi suatu peristiwa.

  1. Memanggil PubSub dengan beberapa data.

    gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2"

    Contoh output:

    messageIds: - '11927162971409664'

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

Tugas 4. Melihat log

  1. Periksa log untuk melihat pesan Anda dalam histori log:

    gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Catatan:
    Perlu waktu sekitar 10 menit hingga log muncul. Cara alternatif untuk melihat log adalah dengan membuka Logging > Logs Explorer.

    Cloud function akan menampilkan informasi yang mirip seperti di bawah ini:

    LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!

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

Tugas 5. Menguji pemahaman Anda

  1. Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep-konsep dalam 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 05 Agustus 2024

Lab Terakhir Diuji pada 05 Agustus 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.

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia