Aktivitas sehari-hari seorang developer Google Cloud biasanya melibatkan penggunaan berbagai produk dan layanan Google Cloud. Dengan produk tersebut, developer dapat mengembangkan, menguji, men-deploy, dan mengelola aplikasi di cloud. Kini developer dapat lebih produktif saat menggunakan produk-produk Google Cloud berkat chat interaktif, bantuan penulisan kode, dan integrasi tersemat yang ditawarkan Gemini.
Catatan: Duet AI berganti nama menjadi Gemini, model generasi berikutnya dari kami. Lab ini telah diperbarui untuk mencerminkan perubahan ini. Semua referensi terkait Duet AI dalam antarmuka pengguna atau dokumentasi harus diperlakukan setara dengan Gemini saat mengikuti petunjuk lab.
Catatan: Sebagai teknologi tahap awal, Gemini dapat menghasilkan output yang seolah masuk akal tetapi mengandung fakta yang salah. Sebaiknya validasi semua output dari Gemini sebelum Anda menggunakannya. Untuk informasi lebih lanjut, lihat Gemini untuk Google Cloud dan responsible AI.
Tujuan
Dalam lab ini, Anda akan menggunakan Gemini untuk menjalankan tugas-tugas berikut:
Menggunakan Gemini Code Assist di editor Cloud Shell untuk membangun aplikasi web.
Men-deploy aplikasi ke Cloud Run.
Memasukkan perintah ke Gemini agar menjelaskan error dalam aplikasi dan memberikan perbaikan.
Mengembangkan uji integrasi untuk aplikasi dengan bantuan Gemini.
Menggunakan Gemini Cloud Assist dengan BigQuery untuk mempelajari cara memuat data di dalam tabel dan menghasilkan serta menjelaskan kueri.
Menggunakan Gemini Cloud Assist dengan Spanner untuk mengkueri data transaksi.
Mempelajari cara menampilkan log aplikasi dengan bantuan Gemini Cloud Assist.
Penyiapan
Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.
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 yang memuat sebagai 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
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.
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.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
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.
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.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual dengan beberapa alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell memberikan akses command line ke resource Google Cloud Anda. gcloud adalah alat command line untuk Google Cloud. Fitur ini sudah terinstal di Cloud Shell dan mendukung penyelesaian tab.
Di Google Cloud Console, pada panel navigasi, klik Activate Cloud Shell ().
Klik Continue.
Perlu waktu beberapa saat untuk menyediakan dan menghubungkan ke lingkungan. Setelah terhubung, Anda juga diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:
Dengan menambahkan peran ini, pengguna dapat menggunakan bantuan Gemini.
Untuk memverifikasi tujuan, klik Periksa progres saya.
Mengonfigurasi lingkungan dan akun Anda.
Tugas 2. Membangun aplikasi web
Lab ini menggunakan aplikasi web supermarket Cymbal Superstore. Dalam tugas-tugas berikutnya di lab ini, Anda akan menggunakan Gemini untuk mengembangkan dan men-deploy fitur baru di aplikasi tersebut. Dalam tugas ini, Anda akan membangun komponen frontend dan backend aplikasi tersebut.
Mengonfigurasi lingkungan
Jalankan perintah berikut dan dua subtugas berikutnya di Cloud Shell.
Untuk menjalankan helper kredensial Docker, jalankan perintah berikut:
Buka sebuah tab di browser Anda, lalu buka URL berikut:
http://{{{project_0.startup_script.frontend_ip|frontend IP address}}}
Catatan: Jika Anda melihat pop-up yang menunjukkan bahwa IP eksternal tidak mendukung koneksi aman, klik Continue to site.
Aplikasi web akan menampilkan halaman beranda Cymbal Superstore.
Klik New Arrivals.
Anda akan melihat halaman frontend rekaan dengan produk placeholder. Hal ini sesuai harapan, karena Anda akan menerapkan kode Inventory API backend untuk menayangkan halaman produk baru dalam tugas berikutnya di lab ini.
Untuk memverifikasi tujuan, klik Periksa progres saya.
Membangun aplikasi web.
Tugas 3. Memodifikasi backend aplikasi web
Sekarang mari gunakan Gemini untuk menambahkan fungsionalitas ke backend aplikasi web kita.
Dalam tugas ini, Anda akan memasukkan perintah ke Gemini agar menyelesaikan kode untuk menerapkan endpoint /newproducts dalam aplikasi.
Mengembangkan endpoint /newproducts
Di editor Cloud Shell, buka file backend/index.ts.
Dalam file kode sumber index.ts, scroll ke baris 91 yang menampilkan komentar placeholder untuk endpoint /newproducts:
// Your code for the GET /newproducts endpoint goes here.
Ganti komentar placeholder ini dengan perintah Gemini berikut:
// Create a new endpoint /newproducts that uses where filters to retrieve only products that were added within the last seven days and are in stock.
Untuk memasukkan perintah ke Gemini agar menghasilkan kode fungsi, pilih seluruh komentar, lalu klik bohlam ().
Di menu More Actions, pilih Gemini: Generate code.
Arahkan kursor ke atas kode yang dihasilkan, dan di toolbar Gemini, klik Accept.
Gemini akan mengisi kode fungsi untuk endpoint /newproducts.
Catatan: Gemini dapat menghasilkan beberapa versi kode untuk perintah Anda. Anda dapat memilih versi tertentu dengan men-scroll daftar pada toolbar.
Kode yang dihasilkan akan mirip dengan contoh berikut:
Di terminal Cloud Shell, autentikasi aplikasi agar dapat mengakses Firestore:
gcloud auth application-default login
Ikuti petunjuk dengan mengklik link untuk mengautentikasi akun Google Cloud, lalu salin/tempel kode otorisasi jika diminta.
Untuk memulai server backend, jalankan perintah berikut:
cd ~/cymbal-superstore/backend
npm run start
Server Inventory API backend akan dimulai dan siap digunakan saat teks berikut ditampilkan:
Cymbal Superstore: Inventory API running on port: 8000
Memanggil endpoint /newproducts
Di panel menu terminal Cloud Shell, klik + untuk membuka terminal baru.
Untuk memanggil endpoint API, jalankan perintah berikut:
curl localhost:8000/newproducts
Perintah ini akan direspons dengan error:
curl: (52) Empty reply from server
Di jendela terminal asal, lihat trace pengecualian yang dicatat dari backend.
Dari trace ini, tampak bahwa akar masalah pengecualian tersebut adalah:
details: ...'The query contains range and inequality filters on multiple fields, please refer to the documentation for index selection best practices: https://cloud.google.com/firestore/docs/query-data/multiple-range-fields.',
Tugas 5. Memperbaiki backend dengan bantuan Gemini Code Assist
Dapatkan bantuan dari Gemini Code Assist
Di editor Cloud Shell, buka file backend/index.ts.
Untuk membuka jendela chat Gemini Code Assist, di panel menu editor kode, klik Gemini Code Assist Chat.
Di perintah Ask Gemini, ketik perintah berikut, lalu klik Send ():
Help me debug this Firestore client error: The query contains range and inequality filters on multiple fields
Gemini akan merespons dengan memberikan penjelasan tentang error ini dan saran untuk memperbaikinya. Berikut adalah bagian dari contoh respons:
"The query contains range and inequality filters on multiple fields" in Firestore arises when you try to use range operators (like >, >=, <, <=) or inequality operators (!=) on more than one field in a single query. Firestore's indexing limitations prevent it from efficiently handling such queries.
Gemini juga memberikan solusi untuk memperbaiki error tersebut.
Catatan: Gemini dapat menghasilkan respons berbeda tiap kali dijalankan. Karena itu, respons yang Anda terima mungkin tidak sama dengan contoh di atas.
Untuk memperbaiki error ini, Anda hanya boleh menggunakan satu filter ketidaksetaraan (inequality).
Dalam file backend/index.ts, untuk menghapus filter quantity, hapus kode berikut dari handler /newproducts:
.where("quantity", ">", 0)
Dengan menghapus kode ini, kini hanya ada satu filter ketidaksetaraan yang memeriksa stempel waktu, dan produk dengan kuantitas 0 tidak akan difilter dari respons API.
Untuk menghapus produk yang kuantitasnya 0, gabungkan kode di products.forEach() dengan pernyataan if berikut:
if (product.data().quantity > 0) {
}
Setelah kode digabung dengan pernyataan if, kode products.forEach() akan terlihat mirip dengan:
Untuk memulai ulang server API backend, jalankan perintah berikut di terminal:
cd ~/cymbal-superstore/backend
npm run start
Beralihlah ke terminal bash lainnya, lalu jalankan lagi perintah curl:
curl localhost:8000/newproducts
API backend akan merespons dengan array json yang berisi daftar produk yang baru ditambahkan.
Di terminal Cloud Shell asal, ketik Control+C untuk keluar dari aplikasi.
Tugas 6. Menguji frontend
Membangun ulang dan men-deploy ulang backend
Ikut langkah-langkah sebelumnya untuk membangun ulang image container layanan backend yang telah diupdate, mengirimkan image tersebut ke registry, dan men-deploy ulang layanan backend ke Cloud Run. Langkah-langkah tersebut diulang di sini untuk memudahkan.
Di Cloud Shell, buka terminal baru, atau gunakan terminal yang sudah terbuka.
Untuk membangun image container backend, mengirimkannya ke repositori, dan men-deploy layanan backend di Cloud Run, jalankan perintah berikut:
Buka sebuah tab di browser Anda, lalu buka URL berikut:
http://{{{project_0.startup_script.frontend_ip|frontend IP address}}}
Aplikasi web akan menampilkan halaman beranda Cymbal Superstore.
Klik New Arrivals.
Halaman ini akan menampilkan produk yang ditunjukkan dalam respons dari endpoint /newproducts yang Anda terapkan dalam tugas sebelumnya.
Tugas 7. Mengembangkan pengujian dengan bantuan Gemini
Dalam tugas ini, Anda akan menulis pengujian untuk API produk baru di backend dengan bantuan Gemini.
Mengembangkan pengujian
Di editor Cloud Shell, buka file backend/index.test.ts.
Catatan: File ini berisi beberapa pengujian sederhana yang dikembangkan dengan alat bernama supertest, menggunakan framework pengujian Jest.
Untuk membuka jendela chat Gemini Code Assist, di panel menu editor kode, klik Gemini Code Assist Chat.
Untuk memasukkan perintah ke Gemini agar membantu Anda menulis pengujian endpoint /newproducts GET, ketik perintah di bawah, dan klik Send ():
Help me write an Express.js test using Jest, in typescript, for the GET /newproducts handler in index.ts. The test should check if the response code is 200 and the list of new products is length 8.
Gemini akan merespons dengan menghasilkan kode pengujian. Salin dan tempel blok kode describe untuk endpoint /newproducts ke dalam file backend/index.test.ts.
Catatan: Hanya salin blok kode describe. Anda tidak perlu menyalin pernyataan import dalam contoh ini.
Menjalankan pengujian
Untuk menjalankan pengujian, jalankan perintah berikut di terminal Cloud Shell:
cd ~/cymbal-superstore/backend
npm run test
Seperti ditunjukkan oleh output perintah test, semua pengujian dijalankan dan lulus.
Catatan:
Output juga menunjukkan bahwa rangkaian pengujian gagal dijalankan karena lingkungan Jest dihentikan. Anda dapat mengabaikan error ini dan berlanjut ke tugas berikutnya.
Tugas 8. Menggunakan Gemini dengan BigQuery
Dalam tugas ini, Anda akan mendapatkan bantuan dari Gemini untuk mengupload data ke tabel di BigQuery, dan membuat kueri yang mengambil data dari tabel tersebut.
Mengupload data ke BigQuery
Di Konsol Google Cloud, buka Navigation menu (), dan pilih BigQuery.
Di panel Explorer BigQuery, luaskan , luaskan set data cymbal_sales, lalu pilih tabel cymbalsalestable.
Catatan: Set data dan tabel telah disediakan sebelumnya untuk lab ini. Data untuk tabel menggunakan format CSV dan disimpan di sebuah bucket di Cloud Storage.
Untuk membuka jendela chat Gemini Cloud Assist, di menu teratas Konsol Google Cloud, klik Open Gemini (), lalu klik Start Chatting.
Untuk perintah Gemini, ketik teks di bawah, lalu klik Send ():
What bq command can be used to upload CSV data from Cloud Storage to BigQuery?
Lihat respons dari Gemini. Respons ini memuat perintah bq load yang dapat dijalankan untuk mengupload data dari Cloud Storage ke BigQuery.
Jalankan perintah berikut di Cloud Shell:
bq load --source_format=CSV --autodetect cymbal_sales.cymbalsalestable gs://{{{project_0.project_id | Google Cloud Project ID}}}-cymbal-frontend/sales_bq_rawdata.csv
Catatan: Perintah ini sudah mencakup nama pengganti untuk set data dan tabel BigQuery, serta jalur ke bucket Cloud Storage yang menyimpan data CSV. Perintah ini juga menyertakan opsi untuk mendeteksi skema tabel secara otomatis.
Di UI BigQuery, klik Refresh ().
Lihat skema tabel.
Klik Query.
Ganti kueri default dengan:
SELECT * FROM `{{{project_0.project_id | Google Cloud Project ID}}}.cymbal_sales.cymbalsalestable` LIMIT 1000;
Untuk menjalankan kueri, klik Run.
Di tab Results, lihat hasil kueri yang berisi data dari tabel. Tabel ini berisi contoh data penjualan gabungan mingguan untuk penjualan produk dari aplikasi web Cymbal Superstore.
Menghasilkan kueri SQL dengan bantuan Gemini
Mari kita gunakan Gemini untuk membantu menghasilkan kueri jumlah total penjualan mingguan.
Untuk meminta Gemini membuat kueri penjualan pada minggu berikutnya mulai tanggal 12 Agustus, di kolom Query yang sama di bawah kueri yang telah dimasukkan sebelumnya, biarkan sebuah baris kosong, lalu klik Gemini () di sisi kiri baris kosong tersebut.
Di dialog Generate SQL with Gemini, ketik:
# Get sales for total_aug_12
Klik Generate.
Tunggu sampai Gemini menghasilkan kueri tersebut. Selanjutnya, klik Insert.
Menjelaskan dan menjalankan kueri
Pilih kueri, klik kanan, dan pilih Explain Current Selection. Anda juga dapat mengklik ikon pensil ajaib Gemini yang muncul di sisi kiri.
Penjelasan tentang kueri SQL akan tersedia di jendela chat Cloud Assist.
Untuk menjalankan kueri, klik Run.
Hasil kueri ditampilkan di tab Results di bagian bawah halaman.
Untuk memverifikasi tujuan, klik Periksa progres saya.
Menggunakan Gemini dengan BigQuery.
Tugas 9. Menggunakan Gemini dengan Spanner
Instance Spanner dan database yang memuat contoh data transaksi penjualan telah disediakan sebelumnya untuk lab ini.
Dalam tugas ini, Anda akan menggunakan Gemini untuk menghasilkan kueri SQL guna mengambil data dari database transactions.
Di menu Konsol Google Cloud, di bagian Databases, klik Spanner.
Klik link untuk membuka instance Spanner Cymbal Superstore Transactions.
Untuk membuka database, klik transactions-db.
Di panel kiri, di bagian Database, klik Spanner Studio.
Klik untuk memilih tab Untitled query.
Di kotak Query, klik Generate SQL with Gemini (), ketik SELECT, lalu klik Generate.
Tunggu hingga Gemini memberikan saran SQL.
Untuk menerima saran, klik Insert.
Hapus klausa WHERE dari kueri SQL, jika ada.
Untuk menjalankan kueri, klik Run.
Lihat hasil dari kueri tersebut.
Tugas 10. Melihat log dengan bantuan Gemini
Anda dapat menggunakan Gemini untuk membantu mengoperasikan dan mengelola layanan di Google Cloud. Dalam tugas ini, Anda akan mengikuti petunjuk dari Gemini untuk melihat log backend inventaris yang berjalan di Cloud Run.
Untuk membuka jendela chat Cloud Assist di Konsol Google Cloud, di panel menu teratas, klik Gemini Cloud Assist chat ().
Untuk perintah Gemini, ketik perintah di bawah, lalu klik Send ():
How can I view the logs for the Cloud Run service called "inventory" in the Google Cloud console?
Untuk melihat log inventory layanan Cloud Run, ikuti petunjuk dalam respons Gemini.
Selamat!
Dalam lab ini, Anda telah mempelajari cara:
Membangun, menguji, dan men-deploy aplikasi menggunakan produk Google Cloud dan dengan bantuan Gemini.
Memasukkan perintah ke Gemini Code Assist agar menjelaskan error dalam aplikasi dan memberikan perbaikan.
Memuat data ke dalam tabel di BigQuery, serta menghasilkan dan menjelaskan kueri dengan bantuan Gemini Cloud Assist.
Menggunakan Gemini Cloud Assist dengan Spanner.
Melihat log aplikasi dengan bantuan Gemini Cloud Assist.
Mengakhiri lab Anda
Setelah Anda menyelesaikan lab, klik Akhiri Lab. Qwiklabs menghapus resource yang telah Anda gunakan dan menghapus akun.
Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.
Makna jumlah bintang:
1 bintang = Sangat tidak puas
2 bintang = Tidak puas
3 bintang = Netral
4 bintang = Puas
5 bintang = Sangat puas
Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.
Untuk masukan, saran, atau koreksi, gunakan tab Dukungan.
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.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
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.
Dalam lab ini, Anda akan mengembangkan aplikasi dan menggunakan layanan di Google Cloud dengan bantuan alat-alat AI Google.