Dapatkan akses ke 700+ lab dan kursus

Menyimpan, Memproses, dan Mengelola Data di Google Cloud: Challenge Lab

Lab 45 menit universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

ARC100

Logo lab mandiri Google Cloud

Ringkasan

Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam kursus untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.

Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.

Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.

Penyiapan

Sebelum mengklik tombol Start 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 interaktif ini dapat Anda gunakan untuk melakukan 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 (direkomendasikan) 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: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Skenario tantangan

Anda baru saja memulai peran sebagai cloud engineer junior. Sejauh ini, Anda telah membantu tim membuat dan mengelola resource Google Cloud.

Anda diharapkan memiliki keterampilan dan pengetahuan untuk tugas seperti ini.

Tantangan Anda

Anda diminta membantu tim pengembangan yang baru dibentuk untuk mengerjakan beberapa tugas awal dalam suatu project baru yang menangani penyimpanan dan pengaturan foto, yang disebut Kenangan. Anda diminta untuk membantu tim Kenangan dengan konfigurasi awal untuk lingkungan pengembangan aplikasi; Anda menerima permintaan untuk menyelesaikan tugas-tugas berikut:

  • Membuat bucket untuk menyimpan foto.
  • Membuat topik Pub/Sub yang akan digunakan oleh Cloud Run Function yang Anda buat.
  • Membuat Cloud Run Function.

Beberapa standar yang harus Anda ikuti:

  • Buat semua resource di region , kecuali ada petunjuk lain.
  • Gunakan VPC project.
  • Pemberian nama mengikuti format team-resource. Misalnya, suatu instance dapat diberi nama kraken-webserver1
  • Mengalokasikan ukuran resource yang hemat biaya. Perlu diperhatikan, semua project selalu dipantau dan penggunaan resource secara berlebihan akan mengakibatkan penghentian project yang terkait (dan kemungkinan project Anda). Satu-satunya panduan dari tim pemantauan adalah gunakan f1-micro untuk VM Linux kecil dan n1-standard-1 untuk Windows atau aplikasi lain, seperti node Kubernetes, kecuali ada arahan lain.

Setiap tugas dijelaskan secara mendetail di bawah ini. Semoga berhasil!

Tugas 1. Membuat bucket

Buat bucket bernama untuk penyimpanan foto. Pastikan resource dibuat di region .

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat bucket bernama

Tugas 2. Membuat topik Pub/Sub

Buat topik Pub/Sub bernama untuk Cloud Run Function guna mengirim pesan.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat topik Pub/Sub bernama

Tugas 3. Membuat Cloud Run Function untuk menghasilkan thumbnail

Buat Cloud Run Function yang akan menghasilkan thumbnail dari gambar yang ditambahkan ke bucket .

Pastikan Cloud Run Function tersebut menggunakan lingkungan Cloud Run Function (yang merupakan generasi ke-2). Pastikan resource dibuat di region dan zona .

  1. Buat fungsi Cloud Run (generasi ke-2) bernama menggunakan Node.js 22 dan setel pemicunya ke Cloud Storage.
Catatan: Cloud Run Function perlu dijalankan tiap kali objek dIbuat di bucket yang telah dibuat di Tugas 1. Selama proses ini, Cloud Run Function mungkin akan meminta izin untuk mengaktifkan API atau meminta izin untuk memberikan peran ke Akun layanan. Aktifkan tiap API yang diperlukan dan berikan peran seperti yang diminta.

Setelah Anda memberikan izin, tunggu beberapa menit sebelum Anda mengklik untuk membuat fungsi guna memastikan bahwa izin telah diperbarui.
Catatan saat menggunakan konsol untuk membuat fungsi: Setelah memulai pembuatan fungsi, tunggu hingga kotak centang hijau diberikan untuk Creating Eventarc trigger (bagian atas halaman di bawah Creating service) sebelum mengupdate kode di langkah berikutnya. Jika Anda tidak menunggu kotak centang hijau untuk Creating Eventarc trigger, pemicu mungkin tidak berhasil dibuat dan tidak akan muncul di tab Triggers pada fungsi.
  1. Pastikan Anda menetapkan Entry point (Fungsi yang akan dieksekusi) ke .

  2. Tambahkan kode berikut ke index.js:

const functions = require('@google-cloud/functions-framework'); const { Storage } = require('@google-cloud/storage'); const { PubSub } = require('@google-cloud/pubsub'); const sharp = require('sharp'); functions.cloudEvent('{{{ project_0.startup_script.function }}}', async cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${JSON.stringify(event)}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64"; const bucket = new Storage().bucket(bucketName); const topicName = "{{{ project_0.startup_script.topic }}}"; const pubsub = new PubSub(); if (fileName.search("64x64_thumbnail") === -1) { // doesn't have a thumbnail, get the filename extension const filename_split = fileName.split('.'); const filename_ext = filename_split[filename_split.length - 1].toLowerCase(); const filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length - 1); // fix sub string to remove the dot if (filename_ext === 'png' || filename_ext === 'jpg' || filename_ext === 'jpeg') { // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); const newFilename = `${filename_without_ext}_64x64_thumbnail.${filename_ext}`; const gcsNewObject = bucket.file(newFilename); try { const [buffer] = await gcsObject.download(); const resizedBuffer = await sharp(buffer) .resize(64, 64, { fit: 'inside', withoutEnlargement: true, }) .toFormat(filename_ext) .toBuffer(); await gcsNewObject.save(resizedBuffer, { metadata: { contentType: `image/${filename_ext}`, }, }); console.log(`Success: ${fileName} → ${newFilename}`); await pubsub .topic(topicName) .publishMessage({ data: Buffer.from(newFilename) }); console.log(`Message published to ${topicName}`); } catch (err) { console.error(`Error: ${err}`); } } else { console.log(`gs://${bucketName}/${fileName} is not an image I can handle`); } } else { console.log(`gs://${bucketName}/${fileName} already has a thumbnail`); } });
  1. Tambahkan kode berikut ke package.json:
{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/pubsub": "^2.0.0", "@google-cloud/storage": "^6.11.0", "sharp": "^0.32.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } } Catatan: Jika Anda menerima error penolakan izin yang menyatakan mungkin diperlukan beberapa menit sebelum semua izin yang diperlukan diterapkan sepenuhnya ke Agen Layanan, tunggu beberapa menit dan coba lagi. Pastikan Anda memiliki peran yang sesuai (Eventarc Service Agent, Eventarc Event Receiver, Service Account Token Creator, dan Pub/Sub Publisher) yang ditetapkan ke akun layanan yang benar.

Tugas 4. Menguji Infrastruktur

Untuk menguji fungsi, upload gambar JPG atau PNG ke dalam bucket.

  1. Upload gambar berformat PNG atau JPG ke dalam bucket .
Catatan: Anda harus mengupload satu gambar berformat JPG atau PNG ke dalam bucket untuk memverifikasi bahwa thumbnail telah dibuat (setelah berhasil membuat fungsi). Gunakan gambar apa pun yang berformat JPG atau PNG, atau gunakan gambar ini https://storage.googleapis.com/cloud-training/arc101/travel.jpg dengan mendownload gambar ke komputer Anda, lalu mengupload file tersebut ke bucket Anda.
  1. Setelah itu, gambar thumbnail akan segera ditampilkan (gunakan REFRESH dalam detail bucket).

Setelah mengupload file gambar, Anda dapat mengklik untuk memeriksa progres di bawah. Anda tidak perlu menunggu gambar thumbnail dibuat.

Catatan: Jika fungsi berhasil di-deploy dan Anda tidak melihat gambar thumbnail di bucket, Anda dapat memeriksa apakah tab Triggers menampilkan informasi pemicu yang sebelumnya diberikan untuk fungsi tersebut, yang mungkin tidak disimpan dengan benar jika sebelumnya Anda mengalami error.

Jika Anda tidak melihat pemicu Cloud Storage di tab Triggers pada fungsi tersebut, Anda dapat membuat ulang pemicu (lihat halaman dokumentasi berjudul Create a trigger for services), lalu upload file baru lagi untuk menguji kembali (muat ulang halaman setelah menambahkan file baru).

Klik Periksa progres saya untuk memverifikasi tujuan. Memastikan thumbnail berhasil dibuat oleh Cloud Run Function

Selamat!

Selamat! Di lab ini, Anda telah berhasil membuat bucket, topik Pub/Sub, dan Cloud Run Function yang membuat thumbnail dari gambar yang ditambahkan ke bucket.

Badge untuk Menyimpan, Memproses, dan Mengelola Data di Google Cloud

Mendapatkan badge keahlian Anda berikutnya

Lab mandiri ini merupakan bagian dari kursus Menyimpan, Memproses, dan Mengelola Data di Google Cloud - Console. Dengan menyelesaikan kursus ini, Anda akan mendapatkan badge di atas sebagai pengakuan pencapaian Anda. Tampilkan badge di resume atau platform media sosial Anda, dan umumkan pencapaian Anda menggunakan hashtag #GoogleCloudBadge.

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 4 April 2025

Lab Terakhir Diuji pada 4 April 2025

Hak cipta 2025 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

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

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.