
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create test data for the Firestore Database
/ 50
Import test data into the Firestore Database
/ 50
Dua belas tahun yang lalu, Lily memulai jaringan klinik hewan Pet Theory. Dalam beberapa tahun terakhir, jaringan Pet Theory telah berkembang pesat. Namun, sistem penjadwalan janji temu lama mereka tidak mampu menangani beban yang meningkat, jadi Lily meminta Anda untuk membangun sistem berbasis cloud yang dapat diskalakan dengan lebih baik dibandingkan solusi lama.
Karena Pet Theory hanya memiliki satu staf operasional, yaitu Patrick, mereka membutuhkan solusi yang tidak perlu banyak pemeliharaan berkelanjutan. Mereka memutuskan memilih teknologi serverless.
Ruby dipekerjakan sebagai konsultan untuk membantu Pet Theory melakukan transisi ke serverless. Setelah membandingkan beberapa opsi database serverless, mereka memutuskan memilih Cloud Firestore. Karena Firestore bersifat serverless, kapasitas tidak perlu disediakan sebelumnya. Artinya, tidak akan ada risiko batas penyimpanan atau operasi. Firestore menjaga data Anda selalu sinkron di seluruh aplikasi klien melalui pemroses real-time dan menawarkan dukungan offline untuk perangkat seluler dan web. Dengan demikian, Anda dapat membangun aplikasi responsif yang tetap berfungsi terlepas dari faktor latensi jaringan atau konektivitas internet.
Di lab ini, Anda akan membantu Patrick mengupload data Pet Theory yang ada ke database Cloud Firestore. Untuk melakukannya, Patrick akan bekerja sama dengan Ruby.
Diagram ini memberikan ringkasan layanan yang akan Anda gunakan dan bagaimana layanan tersebut terhubung satu sama lain:
Di lab ini, Anda akan mempelajari cara:
Ini adalah lab tingkat pendahuluan. Di lab ini, Anda dianggap telah memahami Konsol Cloud dan lingkungan shell. Pengalaman dalam menggunakan Firebase akan bermanfaat, tetapi tidak wajib.
Anda juga harus sudah terbiasa mengedit file. Anda dapat menggunakan editor teks favorit (seperti nano
, vi
, dll.) atau juga dapat meluncurkan editor kode dari Cloud Shell, yang dapat ditemukan di menu atas:
Setelah Anda siap, scroll ke bawah dan ikuti langkah-langkah berikut untuk menyiapkan lingkungan lab Anda.
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:
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:
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.
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
Anda juga dapat menemukan Username di panel Lab Details.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
Anda juga dapat menemukan Password di panel Lab Details.
Klik Next.
Klik halaman berikutnya:
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
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.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
Klik Authorize.
Output Anda sekarang akan terlihat seperti ini:
Output:
Output:
Contoh output:
gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas Patrick adalah mengupload data Pet Theory yang ada ke database Cloud Firestore. Untuk melakukannya, ia akan bekerja sama dengan Ruby. Ruby menerima pesan dari Patrick di IT...
Patrick, Admin IT |
Halo Ruby, Langkah pertama kita untuk beralih ke serverless adalah membuat database Firestore dengan Google Cloud. Dapatkah Anda membantu mengerjakan tugas ini? Saya tidak begitu terbiasa dengan pekerjaan ini. Patrick |
Ruby, Konsultan Software |
Halo Patrick, Tentu saja, saya akan dengan senang hati membantu Anda. Saya akan mengirimkan beberapa resource untuk memulai. Silakan hubungi saya kembali setelah Anda selesai membuat database. Ruby |
Bantu Patrick menyiapkan database Firestore melalui Konsol Cloud.
Di Konsol Cloud, buka Navigation menu, lalu pilih Firestore.
Klik +Create database.
Pilih opsi Native mode, lalu klik Continue.
Setelah tugas selesai, Ruby mengirim email kepada Patrick...
Ruby, Konsultan Software |
Halo Patrick, Anda berhasil menyiapkan database Firestore. Untuk mengelola akses database, kita akan menggunakan Akun Layanan yang dibuat secara otomatis dengan izin akses yang diperlukan. Sekarang kita siap bermigrasi dari database lama ke Firestore. Ruby |
Patrick, Admin IT |
Halo Ruby, Terima kasih atas bantuannya. Penyiapan database Firestore sangat mudah. Saya harap proses impor database akan lebih mudah dibandingkan dengan database lama, yang cukup rumit dan membutuhkan banyak langkah. Patrick |
Database Cloud Firestore yang baru sudah ada, tetapi masih kosong. Data pelanggan Pet Theory masih berada di database lama.
Patrick mengirimkan pesan kepada Ruby...
Patrick, Admin IT |
Halo Ruby, Manajer saya ingin mulai memigrasikan data pelanggan ke database Firestore yang baru. Saya telah mengekspor file CSV dari database lama kami, tetapi saya tidak tahu bagaimana cara mengimpor data ini ke Firestore. Dapatkah Anda membantu saya? Patrick |
Ruby, Konsultan Software |
Halo Patrick, Tentu saja. Ayo kita adakan rapat untuk membahas apa saja yang harus dilakukan. Ruby |
Seperti yang dikatakan Patrick, data pelanggan akan tersedia dalam file CSV. Bantu Patrick membuat aplikasi yang membaca kumpulan data pelanggan dari file CSV dan menuliskannya ke Firestore. Karena Patrick terbiasa bekerja dengan JavaScript, bangun aplikasi ini menggunakan runtime Node.js JavaScript.
lab01
:Di direktori tersebut, Anda dapat melihat package.json
milik Patrick. File ini berisi daftar paket yang menjadi dependensi project Node.js Anda dan membuat build Anda dapat direproduksi, sehingga lebih mudah untuk dibagikan kepada orang lain.
Berikut contoh package.json
:
Setelah Patrick mengimpor kode sumber, ia menghubungi Ruby untuk mengetahui paket apa saja yang ia perlukan agar migrasi berhasil.
Patrick, Admin IT |
Halo Ruby, Kode yang saya gunakan untuk database lama cukup sederhana, hanya membuat CSV yang siap untuk proses impor. Adakah yang perlu saya download sebelum memulai? Patrick |
Ruby, Konsultan Software |
Halo Patrick, Saya sarankan untuk menggunakan salah satu dari sekian banyak paket Node @google-cloud untuk berinteraksi dengan Firestore. Kita hanya perlu melakukan sedikit perubahan pada kode yang ada karena pekerjaan yang berat telah ditangani. Ruby |
Untuk mengizinkan kode Patrick menulis ke database Firestore, Anda perlu menginstal beberapa dependensi pembanding tambahan.
Setelah perintah berhasil diselesaikan, package.json
akan otomatis diupdate untuk menyertakan dependensi pembanding baru, dan akan terlihat seperti ini.
Sekarang saatnya melihat skrip yang membaca file CSV pelanggan dan menulis satu kumpulan data di Firestore untuk tiap baris dalam file CSV. Aplikasi asli Patrick tampak seperti berikut:
Aplikasi ini mengambil output dari file CSV input dan mengimpornya ke dalam database lama. Berikutnya, perbarui kode ini untuk menulis ke Firestore.
pet-theory/lab01/importTestData.js
.Untuk merujuk Firestore API melalui aplikasi, Anda perlu menambahkan dependensi pembanding ke codebase yang ada.
Pastikan bagian atas file terlihat seperti berikut:
Integrasi dengan database Firestore dapat dicapai dengan beberapa baris kode. Ruby telah membagikan beberapa kode template kepada Anda dan Patrick untuk integrasi tersebut.
if (process.argv.length < 3)
:Cuplikan kode di atas mendeklarasikan objek database baru, yang merujuk database yang telah dibuat sebelumnya di lab. Fungsi ini menggunakan proses batch di mana tiap kumpulan data diproses secara bergantian dan diberi rujukan dokumen berdasarkan ID yang ditambahkan. Pada akhir fungsi, konten batch di-commit (ditulis) ke database.
importCsv
untuk menambahkan panggilan fungsi untuk writeToFirestore dan hapus panggilan untuk writeToDatabase. Kodenya akan terlihat seperti berikut:Pastikan bagian atas file terlihat seperti berikut:
importCsv
persis di bawah baris "console.log(Wrote ${records.length} records
);" yang seharusnya akan terlihat seperti berikut:Setelah semua update ini, blok kode fungsi importCsv
Anda seharusnya akan terlihat seperti berikut:
Sekarang saat kode aplikasi dijalankan, database Firestore akan diupdate dengan konten file CSV. Fungsi importCsv
memerlukan nama file dan mengurai konten secara baris per baris. Tiap baris yang diproses kini dikirim ke fungsi Firestore writeToFirestore
, tempat tiap kumpulan data baru ditulis ke database "customer".
Saatnya mengimpor sejumlah data. Patrick menghubungi Ruby terkait kekhawatirannya menggunakan data pelanggan sebenarnya untuk pengujian...
Patrick, Admin IT |
Halo Ruby, Saya pikir sebaiknya kita tidak menggunakan data pelanggan untuk pengujian. Kita perlu menjaga privasi pelanggan, tetapi kita juga harus yakin bahwa skrip impor data kita bekerja dengan benar. Apakah Anda punya usulan cara alternatif untuk melakukan pengujian? Patrick |
Ruby, Konsultan Software |
Halo Patrick, Benar sekali, Patrick. Ini adalah perkara yang rumit, karena data pelanggan dapat mencakup informasi identitas pribadi, atau PII. Saya akan membagikan beberapa kode awal kepada Anda untuk membuat data pseudo pelanggan. Nanti kita dapat menggunakan data ini untuk menguji skrip impor. Ruby |
Bantu Patrick agar generator data pseudo-random ini dapat berjalan.
package.json
:Kini bagian atas file akan terlihat seperti ini:
const
:Created file ${fileName} containing ${recordCount} records.
);" yang akan terlihat seperti berikut:createTestData
seharusnya akan terlihat seperti berikut:customers_1000.csv
, yang akan menampung 1.000 kumpulan data uji:Anda akan melihat output seperti ini:
customers_1000.csv
dan verifikasi bahwa data uji telah dibuat.Uji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika Anda telah berhasil membuat sampel data uji untuk Database Firestore, Anda akan melihat skor penilaian.
Anda akan melihat output seperti ini:
Jalankan perintah berikut untuk menambahkan paket csv-parse
ke lingkungan Anda:
Dalam beberapa bagian sebelumnya, Anda telah melihat bagaimana Patrick dan Ruby berhasil membuat data uji dan skrip untuk mengimpor data ke dalam Firestore. Kini Patrick merasa lebih percaya diri untuk mengupload data pelanggan ke dalam database Firestore.
Uji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Jika Anda telah berhasil mengimpor sampel data uji ke dalam Database Firestore, Anda akan melihat skor penilaian.
Dengan sedikit bantuan Anda dan Ruby, Patrick kini telah berhasil memigrasikan data uji ke database Firestore. Buka Firestore dan lihat hasilnya.
Ketikkan /customers
, lalu tekan Enter.
Muat ulang tab browser Anda dan Anda akan melihat daftar pelanggan yang berhasil dimigrasi:
Di sepanjang kursus lab ini, Anda telah menerima praktik interaktif dengan Firestore. Setelah membuat kumpulan data pelanggan untuk pengujian, Anda menjalankan skrip yang mengimpor data ke dalam Firestore. Kemudian, Anda belajar cara memanipulasi data di Firestore melalui Konsol 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 28 Februari 2024
Lab Terakhir Diuji pada 28 Februari 2024
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.
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
One lab at a time
Confirm to end all existing labs and start this one