1. Pengantar
Dalam codelab ini, kita akan melihat cara memanfaatkan fitur Help Me Write untuk membuat Tes Pemantauan Sintetis untuk layanan yang ada.
Yang akan Anda lakukan ...
- Anda akan men-deploy API ke Google Cloud Run, yang akan berfungsi sebagai dasar untuk layanan yang akan kita uji.
- Kemudian, Anda akan menulis Pemantau Sintetis, yang merupakan fitur Cloud Monitoring.
- Anda akan menggunakan fitur Bantu Tulis untuk menulis Monitor Sintetis.
Yang akan Anda pelajari ...
- Apa itu Pemantauan Sintetis.
- Cara menggunakan fitur Bantu Tulis Gemini di Pemantauan Sintetis, untuk membuat kasus pengujian yang akan memvalidasi fungsi layanan inti.
Yang Anda butuhkan ...
- Browser web Chrome
- Akun Gmail
- Project Cloud dengan penagihan diaktifkan
- Gemini Code Assist diaktifkan untuk Project Cloud Anda
Lab ini ditujukan bagi developer dari semua level, termasuk para pemula. Meskipun aplikasi contoh menggunakan bahasa Python, Anda tidak harus familier dengan pemrograman Python untuk memahami maksudnya.
2. Penyiapan
Sekarang kita akan mengaktifkan Gemini for Cloud di Project Google Cloud. Ikuti langkah-langkah berikut:
- Buka https://console.cloud.google.com dan pastikan Anda telah memilih Project Google Cloud yang akan digunakan untuk lab ini. Klik ikon Buka Gemini yang Anda lihat di kanan atas.

- Jendela chat Gemini for Cloud akan terbuka di sisi kanan konsol. Klik tombol Enable seperti yang ditunjukkan di bawah ini. Jika tombol Enable tidak ada dan yang terlihat adalah antarmuka Chat, Anda mungkin telah mengaktifkan Gemini for Cloud untuk project tersebut dan Anda dapat langsung melanjutkan ke langkah berikutnya.

- Setelah diaktifkan, Anda dapat menguji Gemini for Cloud dengan mengajukan satu atau dua kueri. Beberapa contoh kueri ditampilkan, tetapi Anda dapat mencoba kueri berikut
What is Synthetic Monitoring?

Gemini untuk Cloud akan merespons dengan menjawab pertanyaan Anda. Lihat daftar Dokumentasi referensi yang telah disediakan tentang cara menulis Pemantau Sintetis di Google Cloud.
Anda dapat mengklik ikon
di pojok kanan atas untuk menutup jendela chat Gemini for Cloud.
3. Men-deploy contoh Inventory API di Google Cloud Run
Sebelum mulai menulis pengujian, kita memerlukan contoh API yang dapat kita uji. Untuk itu, kita akan menulis API inventaris sederhana yang akan kita deploy di Google Cloud Run.
Kita akan menggunakan Cloud Shell IDE, lingkungan pengembangan berbasis Code OSS yang terkelola sepenuhnya. Lingkungan ini dilengkapi dengan Ekstensi IDE Cloud Code yang membuat penggunaan layanan Google Cloud menjadi efisien. Ikuti langkah-langkah berikut:
- Buka ide.cloud.google.com. IDE mungkin memerlukan waktu beberapa saat untuk muncul, jadi harap bersabar.
- Klik tombol Cloud Code - Sign in di status bar bawah seperti yang ditunjukkan. Otorisasi plugin seperti yang ditunjukkan. Jika Anda melihat "Cloud Code - no project" di status bar, pilih opsi tersebut, lalu pilih Project Google Cloud tertentu dari daftar project yang akan dikerjakan.

- Klik tombol Gemini di pojok kanan bawah seperti yang ditunjukkan, lalu pilih project Google Cloud yang benar untuk terakhir kalinya. Jika Anda diminta untuk mengaktifkan Cloud AI Companion API, lakukan dan lanjutkan.
- Setelah memilih project Google Cloud, pastikan Anda dapat melihatnya di pesan status Cloud Code di status bar dan Code Assist juga sudah diaktifkan di sebelah kanan status bar seperti yang ditunjukkan di bawah:

- Klik nama project Google Cloud di status bar di bawah.

- Daftar opsi akan muncul. Klik Aplikasi Baru dari daftar di bawah.

- Pilih aplikasi Cloud Run.
- Pilih template aplikasi Python (Flask): Cloud Run.
- Simpan aplikasi baru di lokasi pilihan Anda.
- Sebagai konfirmasi, notifikasi akan muncul dan memberi tahu bahwa aplikasi Anda telah dibuat, lalu aplikasi Anda akan dimuat di jendela baru yang terbuka seperti yang ditunjukkan di bawah. File
README.mddibuka. Untuk saat ini, Anda dapat menutup tampilan tersebut.

- Dari Explorer, buka file
app.pydan ganti dengan konten yang ditampilkan di bawah:
from flask import Flask, jsonify, request
app = Flask(__name__)
inventory = [
{
'id': 1,
'name': 'Item 1',
'quantity': 10
},
{
'id': 2,
'name': 'Item 2',
'quantity': 20
},
{
'id': 3,
'name': 'Item 3',
'quantity': 30
}
]
@app.route('/inventory', methods=['GET'])
def get_inventory():
return jsonify(inventory)
@app.route('/inventory/<int:id>', methods=['GET'])
def get_inventory_item(id):
for item in inventory:
if item['id'] == id:
return jsonify(item)
return jsonify({'error': 'Item not found'}), 404
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
- Sekarang saatnya men-deploy Inventory API ke Cloud Run. Kita harus meluncurkan sesi Terminal baru dari Cloud Shell IDE melalui ikon menu di sebelah kiri atas. Klik ikon menu, lalu Terminal → New Terminal seperti yang ditunjukkan di bawah:

- Di sesi Terminal, berikan perintah berikut:
gcloud run deploy --source .
- Perintah di atas akan menanyakan
regionyang akan di-deploy, pilihus-central1. Aplikasi akan meminta izin untukunauthenticated invocations, izinkan dengan mengucapkany. - Setelah layanan berhasil di-deploy, URL Layanan akan diberikan. Catat itu.
4. Menguji Inventory API
Sekarang Anda dapat menguji Inventory API dengan meluncurkan browser dan membuka endpoint berikut:
SERVICE_URL/inventory
Tindakan ini akan menampilkan 3 item inventaris sesuai dengan data contoh dalam layanan. Contoh respons diberikan di bawah:
[
{
"id": 1,
"name": "Item 1",
"quantity": 10
},
{
"id": 2,
"name": "Item 2",
"quantity": 20
},
{
"id": 3,
"name": "Item 3",
"quantity": 30
}
]
Sekarang kita dapat mengambil item inventaris tertentu melalui URL di bawah. Tindakan ini akan menampilkan item inventaris yang memiliki nilai id 1.
SERVICE_URL/inventory/1
Responsnya akan mirip dengan:
{
"id": 1,
"name": "Item 1",
"quantity": 10
}
Terakhir, kita dapat mencoba mengambil item inventaris yang tidak ada.
SERVICE_URL/inventory/200
Tindakan ini akan menampilkan pesan error karena tidak ada item inventaris dengan nilai id sebesar 200. Responsnya akan mirip dengan berikut ini:
{
"error": "Item not found"
}
Sekarang kita siap menulis Tes Pemantauan Sintetis di Cloud Monitoring dengan bantuan Gemini.
5. Pemantauan Sintetis di Google Cloud
Seperti yang dinyatakan dalam dokumentasi, Monitor sintetis memungkinkan Anda menentukan apa yang akan diuji dan urutan pengujian. Misalnya, Anda dapat menguji halaman login aplikasi, proses checkout toko e-commerce, atau panggilan API yang dilakukan aplikasi ke layanan pihak ketiga.
Saat membuat monitor sintetis, Anda men-deploy Cloud Function generasi ke-2 yang dibangun di Cloud Run. Fungsi Anda harus ditulis dalam Node.js dan mengandalkan framework SDK Synthetics open source. Cloud Monitoring mendistribusikan dan mengelola framework ini.
Cloud Monitoring mendukung jenis monitor sintetis berikut:
- Monitor sintetis berbasis Mocha atau kustom memungkinkan Anda men-deploy Cloud Function dengan tujuan tunggal yang dapat dikonfigurasi sepenuhnya.
- Pemeriksa link rusak memungkinkan Anda menentukan opsi, seperti URI asal, jumlah link yang diuji, dan jumlah percobaan ulang, sebelum men-deploy Cloud Function yang telah dikonfigurasi sebelumnya.
Cloud Monitoring melakukan banyak tugas berat saat mengeksekusi monitor sintetis ini. Ini bertanggung jawab atas:
- Eksekusi Cloud Function secara berkala.
- Mengumpulkan dan menyimpan hasil setiap eksekusi:
- Informasi keberhasilan dan kegagalan, seperti pesan error, jenis error, dan baris kode
- Waktu eksekusi
- Log
- Metrik
Kita akan menggunakan bantuan Gemini dan khususnya fitur Help Me Write yang akan memberi kita kode awal untuk pengujian, sehingga kita dapat menggunakannya untuk menguji dan juga membangun fitur tambahan di atasnya. Mari kita mulai.
6. Menulis Monitor Sintetis untuk Kasus Pengujian Inventory API
Sekarang kita akan membuka Konsol Cloud untuk menulis Synthetic Monitor.
Buka halaman Synthetic Monitoring di Konsol Cloud. Tindakan ini akan membuka halaman seperti yang ditunjukkan di bawah:

Klik link CREATE SYNTHETIC MONITOR di halaman di atas. Tindakan ini akan menampilkan formulir konfigurasi seperti yang ditunjukkan di bawah:

Kami telah memberikan nama s1, tetapi Anda dapat memilih nama lain. Perhatikan tombol BANTU KODING di layar di atas. Klik tombol tersebut.
Tindakan ini akan memunculkan jendela pop-up tempat Anda harus memberikan perintah yang menjelaskan kasus pengujian yang ingin Anda jalankan untuk memastikan bahwa Inventory API berfungsi dengan baik.

Di kotak edit perintah, gunakan perintah seperti yang diberikan di bawah:
Help me write Node.js based synthetic test script with the assert module that performs the following tests:
1. A GET operation on SERVICE_URL/inventory. The http response code returned should be 200.
2. A GET operation on SERVICE_URL/inventory/1. The http response code returned should be 200. The response data is JSON format. It should be a single object with attributes as follows: "id" value should be 1, "name" value should be "Item 1" and "quantity" value should be 10.
3. A GET operation on SERVICE_URL/inventory/200. The https response code returned should be 404. The response data is in JSON format. It should be a single object with attributes as follows: "error" value should be "Item not found".
Perhatikan bahwa kami telah memberikan 3 kasus pengujian dan Anda harus mengganti nilai SERVICE_URL dengan nama Layanan Cloud Run yang sebenarnya untuk layanan Anda.
Setelah Anda mengklik GENERATE, Gemini akan membuat kode Test Suite dan file package.json seperti yang ditunjukkan di bawah. Kode yang dihasilkan untuk Anda mungkin berbeda dengan kode yang Anda lihat di bawah. Lihat kode dan file dependensi dalam file package.json.

Klik INSERT INTO CLOUD FUNCTION. Tindakan ini akan menampilkan formulir pembuatan Cloud Function dengan nilai yang diperlukan diisi untuk Anda.

Klik TERAPKAN FUNGSI, lalu klik tombol BUAT. Dalam contoh ini, kami tidak memilih konfigurasi Saluran Pemberitahuan, tetapi Anda bebas memilihnya.
Tindakan ini akan memulai proses pembuatan Google Cloud Function di latar belakang. Proses ini mungkin memerlukan waktu beberapa menit, jadi bersabarlah.

Setelah Cloud Function berhasil di-deploy, Cloud Monitoring akan memulai tugas pemanggilan Synthetic Monitor untuk Anda.
Di awal, Anda akan melihat bahwa tidak ada pemanggilan, seperti yang ditunjukkan di bawah:

Setelah ada run tertentu, Anda akan dapat melihat berbagai eksekusi. Layar di bawah menunjukkan bahwa pengujian berhasil:

Jika Anda mengklik nama Synthetic Monitor (misalnya, s1), berbagai eksekusi akan ditampilkan seperti yang ditunjukkan di bawah:

7. Selamat!
Selamat - Anda telah berhasil men-deploy contoh API ke Google Cloud Run dan menulis pengujian Pemantauan Sintetis untuk memvalidasi fungsi layanan. Selama proses ini, Anda menggunakan Gemini untuk membantu membuat kode untuk Test Suite.