Latihan: Memigrasikan beban kerja MongoDB ke Cosmos DB
Anda bekerja untuk perusahaan utilitas yang memiliki sensor IoT yang mengumpulkan data suhu. Suhu dicatat dalam database MongoDB, bersama dengan tanda waktu. Setiap perangkat memiliki ID unik. Anda akan menjalankan aplikasi MongoDB yang mensimulasikan perangkat ini, dan menyimpan data dalam database. Anda juga akan menggunakan aplikasi kedua yang memungkinkan pengguna untuk mengkueri informasi statistik tentang setiap perangkat. Setelah memigrasikan database dari MongoDB ke Cosmos DB, Anda akan mengonfigurasi kedua aplikasi untuk terhubung ke Cosmos DB, dan memverifikasi bahwa mereka masih berfungsi dengan benar.
Dalam latihan ini, Anda akan mengambil database MongoDB yang ada dan memigrasikannya ke Cosmos DB. Anda akan menggunakan Azure Database Migration Service. Anda juga akan melihat cara mengonfigurasi ulang aplikasi yang ada yang menggunakan database MongoDB untuk menyambungkan ke database Cosmos DB sebagai gantinya.
Penting
Layanan Migrasi Data Azure tidak didukung di lingkungan kotak pasir Azure gratis. Anda dapat melakukan langkah-langkah ini dalam langganan pribadi, atau ikuti saja untuk memahami cara memigrasikan database.
Membuat database MongoDB di Azure
Pertama, Anda akan membuat database MongoDB untuk menyimpan data yang diambil dari perangkat suhu.
Membuat Grup Sumber Daya dan Virtual Network
Menggunakan browser web, buka tab baru lalu buka portal Microsoft Azure.
Di portal Microsoft Azure, pilih Grup sumber daya, lalu pilih +Tambahkan.
Pada halaman Buat grup sumber daya, masukkan detail berikut:
Harta benda Nilai Langganan < > langganan Anda Grup Sumber Daya mongodbrg Wilayah Pilih lokasi terdekat Anda Pilih Tinjau + Buat lalu pilih Buat. Tunggu hingga grup sumber daya dibuat.
Di menu portal Microsoft Azure, pilih + Buat sumber daya.
Pada halaman New, di kotak Cari Marketplace, ketik Virtual Network, dan tekan Enter.
Pada halaman Virtual Network, pilih Buat.
Pada halaman Buat jaringan virtual , masukkan detail berikut, lalu pilih Berikutnya: Alamat IP:
Harta benda Nilai Grup Sumber Daya mongodbrg Nama databasevnet Wilayah Pilih lokasi yang sama dengan yang Anda tentukan untuk grup sumber daya Pada halaman Alamat IP, atur ruang alamat IPv4 ke 10.0.0.0/24.
Pilih subnet default, lalu pilih Hapus subnet.
Pilih + Tambahkan subnet. Di panel Tambahkan subnet, atur nama Subnet ke default, atur rentang alamat Subnet ke 10.0.0.0/28, lalu pilih Tambahkan.
Pada halaman Alamat IP, pilih Berikutnya: Keamanan.
Pada halaman Keamanan , verifikasi bahwa Perlindungan Jaringan Azure DDoS diatur ke Nonaktifkan, dan Firewall diatur ke Nonaktifkan. Pilih Tinjau dan buat.
Pada halaman Buat jaringan virtual , pilih Buat. Tunggu hingga jaringan virtual dibuat sebelum melanjutkan.
Membuat server database MongoDB
Di menu portal Microsoft Azure, pilih + Buat sumber daya.
Dalam kotak Cari Marketplace, ketik Ubuntu, lalu tekan Enter.
Pada halaman Marketplace , pilih Ubuntu Server 18.04 LTS.
Pada halaman Ubuntu Server 18.04 LTS , pilih Buat.
Pada halaman Buat komputer virtual , masukkan detail berikut ini:
Harta benda Nilai Grup Sumber Daya mongodbrg Nama komputer virtual mongodbserver Wilayah Pilih lokasi yang sama dengan yang Anda tentukan untuk grup sumber daya Opsi ketersediaan Tidak ada redundansi infrastruktur yang diperlukan Gambar Ubuntu Server 18.04 LTS - Gen1 Instans Azure Spot Tidak Dicentang Ukuran Standar A1_v2 Jenis autentikasi Kata sandi Nama pengguna azureuser Kata sandi Pa55w.rdPa55w.rd Mengonfirmasikan kata sandi Pa55w.rdPa55w.rd Port masuk publik Izinkan port yang dipilih Pilih port masuk SSH (22) Pilih Berikutnya: Disk >.
Pada halaman Disk , biarkan pengaturan di defaultnya, lalu pilih Berikutnya: Jaringan >.
Pada halaman Jaringan , masukkan detail berikut ini:
Harta benda Nilai Jaringan virtual databasevnet Subnet default (10.0.0.0/28) IP Publik (baru) mongodbserver-ip kelompok keamanan jaringan NIC Tingkat Lanjut Mengonfigurasi grup keamanan jaringan (baru) mongodbserver-nsg Jaringan yang dipercepat Tidak Dicentang Penyeimbangan beban Tidak Dicentang Pilih Tinjau + Buat >.
Pada halaman validasi, pilih Buat.
Tunggu hingga mesin virtual sepenuhnya diterapkan sebelum melanjutkan
Di menu portal Microsoft Azure, pilih Semua sumber daya.
Pada halaman Semua sumber daya , pilih mongodbserver-nsg.
Pada halaman mongodbserver-nsg , di bawah Pengaturan, pilih Aturan keamanan masuk.
Pada halaman mongodbserver-nsg - Aturan keamanan masuk , pilih + Tambahkan.
Di panel Tambahkan aturan keamanan masuk, masukkan detail berikut ini:
Harta benda Nilai Sumber Apa saja Rentang port sumber * Tujuan Apa saja Rentang port tujuan 8080 Protokol Apa saja Tindakan Izinkan Prioritas 1030 Nama Port Mongodb Deskripsi Port yang digunakan klien untuk menyambungkan ke MongoDB Pilih Tambahkan.
Nota
Anda akan mengonfigurasi MongoDB untuk menggunakan port 8080 dalam latihan ini. Anda hanya perlu melakukan ini karena kendala keamanan di lingkungan ini. Anda biasanya akan menggunakan port MongoDB default 27017.
Menginstal MongoDB
Di menu portal Microsoft Azure, pilih Semua sumber daya.
Pada halaman Semua sumber daya , pilih mongodbserver-ip.
Pada halaman mongodbserver-ip , catat alamat IP.
Di toolbar di bagian atas portal Microsoft Azure, pilih Cloud Shell.
Jika kotak pesan Anda tidak memiliki penyimpanan yang dipasang muncul, pilih Buat penyimpanan.
Saat Cloud Shell dimulai, di daftar drop-down di atas jendela Cloud Shell, pilih Bash.
Di Cloud Shell, masukkan perintah berikut untuk menyambungkan ke komputer virtual mongodbserver. Ganti <alamat IP> dengan nilai dari alamat IP mongodbserver-ip:
ssh azureuser@<ip address>Pada perintah, ketik ya untuk terus menyambungkan.
Masukkan kata sandi Pa55w.rdPa55w.rd.
Untuk memuat ulang database paket, masukkan perintah ini:
sudo apt-get updateUntuk menginstal MongoDB, masukkan perintah ini:
sudo apt-get install -y mongodbPenginstalan harus dilanjutkan dengan pesan tentang menginstal, menyiapkan, dan membuka paket. Dibutuhkan beberapa menit agar penginstalan selesai.
Mengonfigurasi database MongoDB
Secara default, instans Mongo DB dikonfigurasi untuk dijalankan tanpa autentikasi. Dalam tugas ini, Anda akan mengonfigurasi MongoDB untuk mengikat antarmuka jaringan lokal sehingga dapat menerima koneksi dari komputer lain. Anda juga akan mengaktifkan autentikasi dan membuat akun pengguna yang diperlukan untuk melakukan migrasi. Terakhir, Anda akan menambahkan akun yang dapat digunakan aplikasi pengujian untuk mengkueri database.
Untuk membuka file konfigurasi MongoDB, jalankan perintah ini:
sudo nano /etc/mongodb.confDalam file, temukan pengaturan bind_ip , dan atur ke 0.0.0.0.
Temukan pengaturan port , dan atur ke 8080.
Untuk menyimpan file konfigurasi, tekan Esc lalu tekan CTRL + X. Tekan y lalu Enter untuk menyimpan buffer yang dimodifikasi.
Untuk memulai ulang layanan MongoDB dan menerapkan perubahan Anda, masukkan perintah ini:
sudo service mongodb restartUntuk menyambungkan ke layanan MongoDB, masukkan perintah ini:
mongo --host 127.0.0.1:8080Di prompt >, untuk beralih ke database admin, jalankan perintah berikut:
use admin;Untuk membuat pengguna baru bernama administrator, jalankan perintah berikut. Anda dapat memasukkan perintah pada satu baris atau di beberapa baris untuk keterbacaan yang lebih baik. Perintah dijalankan ketika program
mongomencapai titik koma:db.createUser( { user: "administrator", pwd: "Pa55w.rd", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "clusterMonitor", db:"admin" }, "readWriteAnyDatabase" ] } );Untuk keluar dari
mongoprogram, masukkan perintah ini;exit;Untuk menyambungkan ke MongoDB dengan akun administrator baru, jalankan perintah ini:
mongo admin -u "administrator" -p "Pa55w.rd" --host 127.0.0.1:8080Untuk beralih ke database DeviceData , jalankan perintah ini:
use DeviceData;Untuk membuat pengguna bernama deviceadmin, yang akan digunakan aplikasi untuk menyambungkan ke database, jalankan perintah ini:
db.createUser( { user: "deviceadmin", pwd: "Pa55w.rd", roles: [ { role: "readWrite", db: "DeviceData" } ] } );Untuk keluar dari
mongoprogram, masukkan perintah ini;exit;Jalankan perintah berikut mulai ulang layanan mongodb. Verifikasi bahwa layanan dimulai ulang tanpa pesan kesalahan apa pun:
sudo service mongodb restartJalankan perintah berikut untuk memverifikasi bahwa Anda sekarang dapat masuk ke mongodb sebagai pengguna deviceadmin:
mongo DeviceData -u "deviceadmin" -p "Pa55w.rd" --host 127.0.0.1:8080Pada prompt >, jalankan perintah berikut untuk keluar dari shell mongo:
exit;Pada prompt bash, jalankan perintah berikut untuk memutuskan sambungan dari server MongoDB dan kembali ke Cloud Shell:
exit
Mengisi dan mengkueri database MongoDB
Anda sekarang telah membuat server dan database MongoDB. Langkah selanjutnya adalah menunjukkan aplikasi sampel yang dapat mengisi dan mengkueri data dalam database ini.
Membuat dan menjalankan Aplikasi untuk mengisi database MongoDB
Di Azure Cloud Shell, jalankan perintah berikut untuk mengunduh kode sampel:
git clone https://github.com/MicrosoftLearning/DP-060T00A-Migrating-your-Database-to-Cosmos-DB migration-workshop-appsPindah ke folder migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCaptureGunakan editor Kode untuk memeriksa file TemperatureDevice.cs :
code TemperatureDevice.csKode dalam file ini berisi kelas bernama TemperatureDevice yang mensimulasikan perangkat suhu yang menangkap data dan menyimpannya dalam database MongoDB. Ini menggunakan pustaka MongoDB untuk .NET Framework. Konstruktor TemperatureDevice tersambung ke database menggunakan pengaturan yang disimpan dalam file konfigurasi aplikasi. Metode RecordTemperatures menghasilkan pembacaan dan menulisnya ke database.
Tutup editor kode, lalu buka file ThermometerReading.cs :
code ThermometerReading.csFile ini memperlihatkan struktur dokumen yang disimpan aplikasi dalam database. Setiap dokumen berisi bidang berikut:
- ID objek. adalah bidang "_id" yang dihasilkan oleh MongoDB untuk mengidentifikasi setiap dokumen secara unik.
- ID perangkat. Setiap perangkat memiliki angka dengan awalan "Perangkat".
- Suhu yang direkam oleh perangkat.
- Tanggal dan waktu ketika suhu direkam.
Tutup editor kode, lalu buka file App.config :
code App.configFile ini berisi pengaturan untuk menyambungkan ke database MongoDB.
Atur nilai untuk kunci Alamat ke alamat IP server MongoDB yang Anda rekam sebelumnya.
Ubah port yang digunakan aplikasi menjadi 8080.
Simpan file dan tutup editor menggunakan CTRL + s, lalu CTRL + q.
Jalankan perintah berikut untuk membangun kembali aplikasi:
dotnet buildProses ini dapat memakan waktu sekitar 5 menit.
Jalankan aplikasi:
dotnet runAplikasi mensimulasikan 100 perangkat yang berjalan secara bersamaan. Izinkan aplikasi berjalan selama beberapa menit, lalu tekan Enter untuk menghentikannya.
Membuat dan menjalankan aplikasi lain untuk mengkueri database MongoDB
Pindah ke folder DP160T00A-Migrating-your-Database-to-Cosmos-DB/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQueryFolder ini berisi aplikasi lain yang dapat Anda gunakan untuk menganalisis data yang diambil oleh setiap perangkat.
Gunakan editor Kode untuk memeriksa file Program.cs :
code Program.csAplikasi terhubung ke database (menggunakan metode ConnectToDatabase di bagian bawah file) lalu meminta nomor perangkat kepada pengguna. Aplikasi ini menggunakan pustaka MongoDB untuk .NET Framework untuk membuat dan menjalankan alur agregat yang menghitung statistik berikut untuk perangkat yang ditentukan:
- Jumlah pembacaan yang direkam.
- Suhu rata-rata dicatat.
- Pembacaan terendah.
- Bacaan tertinggi.
- Pembacaan terbaru.
Tutup editor kode, lalu buka file App.config :
code App.configAtur nilai untuk kunci Alamat ke alamat IP server MongoDB yang Anda rekam sebelumnya.
Ubah port yang digunakan aplikasi menjadi 8080.
Simpan file dan tutup editor menggunakan CTRL + s, lalu CTRL + q.
Membangun dan menjalankan aplikasi:
dotnet build dotnet runPada perintah Masukkan Nomor Perangkat , masukkan nilai antara 0 dan 99. Aplikasi akan mengkueri database, menghitung statistik, dan menampilkan hasilnya. Tekan Q untuk keluar dari aplikasi.
Memigrasikan Database MongoDB ke Cosmos DB
Langkah selanjutnya adalah mengambil database MongoDB dan mentransfernya ke Cosmos DB.
Membuat akun dan database Cosmos
Kembali ke portal Microsoft Azure.
Di menu, pilih + Buat sumber daya.
Pada halaman Baru , dalam kotak Cari Marketplace , ketik *Azure Cosmos DB, akhiri lalu tekan Enter.
Pada bilah Azure Cosmos DB, pilih Buat.
Pada halaman Buat Akun Azure Cosmos DB , masukkan pengaturan berikut:
Harta benda Nilai Grup sumber daya mongodbrg Nama Akun mongodb*nnn*, di mana nnn adalah angka acak yang dipilih oleh Anda API Azure Cosmos DB untuk MongoDB API Notebooks Off Lokasi Tentukan lokasi yang sama dengan yang Anda gunakan untuk server MongoDB dan jaringan virtual Mode kapasitas Throughput yang diproyeksikan Terapkan Diskon Lapisan Gratis Terapkan Jenis Akun Bukan Produksi Versi 3.6 Redundansi Geografis Menonaktifkan Penulisan Multiwilayah Menonaktifkan Zona Ketersediaan Menonaktifkan Pilih Tinjau dan buat.
Pada halaman validasi, pilih Buat, dan tunggu akun Cosmos DB disebarkan.
Di menu portal Microsoft Azure, pilih Semua sumber daya, lalu pilih akun Cosmos DB baru Anda (mongodbnnn).
Pada halaman mongodbnnn , pilih Data Explorer.
Di panel Data Explorer , pilih Koleksi Baru.
Di panel Tambahkan Koleksi , tentukan pengaturan berikut ini:
Harta benda Nilai Identifikasi Database Pilih Buat baru, lalu ketik DeviceData Menyediakan throughput database Dipilih Daya Tampung 10000 Nomor Koleksi Suhu Kapasitas penyimpanan Unlimited Kunci pecahan deviceID Kunci pecahan saya lebih besar dari 100 byte biarkan tetap tidak dipilih Buat Indeks Wildcard pada semua kolom biarkan tetap tidak dipilih Penyimpanan analitik Off Pilih OK.
Membuat Layanan Migrasi Basis Data
Beralih kembali ke portal Microsoft Azure.
Klik Semua layanan, klik Langganan, lalu klik langganan Anda.
Pada halaman langganan Anda, di bawah Pengaturan, klik Penyedia sumber.
Dalam kotak Filter menurut nama, ketik DataMigration, lalu klik Microsoft.DataMigration.
Jika Microsoft.DataMigration tidak terdaftar, klik Daftar, dan tunggu hingga Status berubah menjadi Terdaftar. Mungkin perlu mengeklik Refresh untuk melihat perubahan status.
Di menu portal Microsoft Azure, pilih + Buat sumber daya.
Pada halaman Baru , dalam kotak Cari Marketplace , ketik Azure Database Migration Service, lalu tekan Enter.
Pada halaman Azure Database Migration Service, pilih Buat.
Pada halaman Buat Layanan Migrasi , masukkan pengaturan berikut ini:
Harta benda Nilai Grup sumber daya mongodbrg Nama Layanan MongoDBMigration Lokasi Pilih lokasi sama yang Anda gunakan sebelumnya Mode layanan Azure Lapisan Harga Standar: 1 vCore Pilih Berikutnya: Jaringan.
Pada halaman Jaringan, pilih databasevnet/default, lalu pilih Tinjau + buat.
Pilih Buat, dan tunggu layanan diluncurkan sebelum Anda melanjutkan. Operasi ini dapat memakan waktu sekitar 10 menit.
Membuat dan menjalankan proyek migrasi baru
Di menu portal Microsoft Azure, pilih Grup sumber daya.
Di jendela Grup sumber daya , pilih mongodbrg.
Di jendela mongodbrg, pilih MongoDBMigration.
Pada halaman MongoDBMigration , pilih + Proyek Migrasi Baru.
Pada halaman Proyek migrasi baru , masukkan pengaturan berikut ini:
Harta benda Nilai Nama proyek MigrateTemperatureData Jenis server sumber MongoDB Jenis server target Cosmos DB (MongoDB API) Pilih jenis aktivitas Migrasi data offline Pilih Buat dan jalankan aktivitas.
Saat Wizard Migrasi dimulai, pada halaman Detail sumber , masukkan detail berikut ini:
Harta benda Nilai Pengaturan Mode standar Nama server sumber Tentukan nilai alamat IP mongodbserver-ip yang Anda rekam sebelumnya Port server 8080 Nama Pengguna administrator Kata sandi Pa55w.rd Memerlukan SSL tidak dipilih Pilih Berikutnya: Pilih target.
Pada halaman Pilih target , masukkan detail berikut ini:
Harta benda Nilai Pengaturan Pilih target Cosmos DB Pilih Nama Comos DB mongodb*nnn* Rangkaian koneksi Terima string koneksi yang dihasilkan untuk akun Cosmos DB Anda Pilih Berikutnya: Pengaturan database.
Pada halaman Pengaturan database , masukkan detail berikut ini:
Harta benda Nilai Database Sumber DeviceData Basis Data Sasaran DeviceData Throughput (RU/detik) 1000 Merapikan koleksi Kosongkan kotak ini Pilih Berikutnya: Pengaturan koleksi.
Pada halaman Pengaturan koleksi , pilih panah dropdown oleh database DeviceData, masukkan detail berikut ini:
Harta benda Nilai Nama Suhu Koleksi Target Suhu Throughput (RU/detik) 1000 Kunci Shard deviceID Unik Biarkan kosong Pilih Berikutnya: Ringkasan migrasi.
Pada halaman Ringkasan migrasi , di bidang Nama aktivitas , masukkan mongodb-migration, lalu pilih Mulai migrasi.
Pada halaman mongodb-migration , pilih Refresh setiap 30 detik, hingga migrasi selesai. Perhatikan jumlah dokumen yang diproses.
Verifikasi bahwa migrasi berhasil
Di menu portal Microsoft Azure, pilih Semua Sumber Daya.
Pada halaman Semua sumber daya , pilih mongodbnnn.
Pada halaman mongodb*nnn , pilih Data Explorer.
Di panel Data Explorer , perluas database DeviceData , perluas kumpulan Suhu , lalu pilih Dokumen.
Di panel Dokumen , gulir daftar dokumen. Anda akan melihat id dokumen (_id) dan kunci shard (/deviceID) untuk setiap dokumen.
Pilih dokumen apa pun. Anda akan melihat detail dokumen yang ditampilkan. Dokumen umum terlihat seperti ini:
{ "_id" : ObjectId("5ce8104bf56e8a04a2d0929a"), "deviceID" : "Device 83", "temperature" : 19.65268837271849, "time" : 636943091952553500 }Di toolbar di panel Penjelajah Dokumen , pilih Shell Baru.
Di panel Shell 1 , pada > perintah , masukkan perintah berikut, lalu tekan Enter:
db.Temperatures.count()Perintah ini menampilkan jumlah dokumen dalam koleksi Temperatures. Ini harus cocok dengan jumlah yang dilaporkan oleh Wizard Migrasi.
Masukkan perintah berikut, lalu tekan Enter:
db.Temperatures.find({deviceID: "Device 99"})Perintah ini mengambil dan menampilkan dokumen untuk Perangkat 99.
Mengonfigurasi ulang dan menjalankan aplikasi yang ada untuk menggunakan Cosmos DB
Langkah terakhir adalah mengonfigurasi ulang aplikasi MongoDB yang ada untuk terhubung ke Cosmos DB, dan memverifikasi bahwa aplikasi tersebut masih berfungsi. Ini mengharuskan Anda untuk memodifikasi cara aplikasi Anda terhubung ke database, tetapi logika aplikasi Anda harus tetap tidak berubah.
Di panel mongodbnnn , di bawah Pengaturan, pilih String Koneksi.
Pada halaman mongodbnnn String Koneksi, catat pengaturan berikut:
- Pembawa acara
- Nama pengguna
- Kata Sandi Utama
Kembali ke jendela Cloud Shell (sambungkan kembali jika sesi telah kehabisan waktu), dan pindah ke folder migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQueryBuka file App.config di editor Kode:
code App.configDi bagian Pengaturan untuk MongoDB dari file, komentari pengaturan yang ada.
Batalkan komentar pengaturan di bagian Pengaturan untuk Cosmos DB Mongo API , dan atur nilai untuk pengaturan ini sebagai berikut:
Pengaturan Nilai Alamat HOST dari halaman mongodb String Koneksinnn Pelabuhan PORT dari halaman Connection Stringnnn mongodb Nama pengguna NAMA PENGGUNA dari halaman mongodbnnn String Koneksi Kata sandi KATA SANDI UTAMA dari halaman String Koneksimongodb nnn File yang telah selesai akan terlihat mirip dengan ini:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="Database" value="DeviceData" /> <add key="Collection" value="Temperatures" /> <!-- Settings for MongoDB <add key="Address" value="nn.nn.nn.nn" /> <add key="Port" value="27017" /> <add key="Username" value="deviceadmin" /> <add key="Password" value="Pa55w.rd" /> End of settings for MongoDB --> <!-- Settings for CosmosDB Mongo API --> <add key="Address" value="mongodbnnn.documents.azure.com"/> <add key="Port" value="10255"/> <add key="Username" value="mongodbnnn"/> <add key="Password" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="/> <!-- End of settings for CosmosDB Mongo API --> </appSettings> </configuration>Simpan file, lalu tutup editor Kode.
Buka file Program.cs menggunakan editor Kode:
code Program.csGulir ke bawah ke metode ConnectToDatabase .
Tambahkan komentar pada baris yang mengatur kredensial untuk menghubungkan ke MongoDB, dan hapus komentar dari pernyataan yang menentukan kredensial untuk menghubungkan ke Cosmos DB. Kode akan terlihat seperti ini:
// Connect to the MongoDB database MongoClient client = new MongoClient(new MongoClientSettings { Server = new MongoServerAddress(address, port), ServerSelectionTimeout = TimeSpan.FromSeconds(10), // // Credential settings for MongoDB // // Credential = MongoCredential.CreateCredential(database, azureLogin.UserName, azureLogin.SecurePassword), // // Credential settings for CosmosDB Mongo API // UseTls = true, Credential = new MongoCredential("SCRAM-SHA-1", new MongoInternalIdentity(database, azureLogin.UserName), new PasswordEvidence(azureLogin.SecurePassword)) // End of Mongo API settings });Perubahan ini diperlukan karena database MongoDB asli tidak menggunakan koneksi SSL. Cosmos DB selalu menggunakan SSL.
Simpan file, lalu tutup editor Kode.
Bangun ulang dan jalankan aplikasi:
dotnet build dotnet runPada perintah Masukkan Nomor Perangkat , masukkan nomor perangkat antara 0 dan 99. Aplikasi harus berjalan persis seperti sebelumnya, kecuali kali ini menggunakan data yang disimpan dalam database Cosmos DB.
Meningkatkan performa kueri di Cosmos DB
Cosmos DB memungkinkan Anda menambahkan lebih banyak indeks untuk meningkatkan performa kueri. Saat kami mengagregasi melalui deviceID menambahkan bidang tersebut sebagai indeks akan mempercepat kueri Anda.
Beralih kembali ke portal Microsoft Azure.
Di sebelah kiri, pilih Data Explorer.
Di panel Data Explorer , perluas database DeviceData , perluas kumpulan Suhu , lalu pilih Pengaturan.
Pilih Kebijakan pengindeksan.
Di bawah _id tambahkan indeks baru, masukkan deviceID untuk Definisi, dan pilih Bidang Tunggal untuk Jenis.
Pilih Simpan untuk menambahkan indeks baru.
Kembali ke Cloud Shell Anda untuk mencoba kueri Anda lagi, dan catat respons yang ditingkatkan di aplikasi Anda.
Uji aplikasi dengan nomor perangkat lain. Masukkan Q untuk menyelesaikan.
Anda telah berhasil memigrasikan database MongoDB ke Cosmos DB, dan mengonfigurasi ulang aplikasi MongoDB yang ada untuk menyambungkan ke database Cosmos DB baru.
Jernihkan sumber daya yang telah Anda buat
Penting
Jika Anda telah melakukan langkah-langkah ini dalam langganan pribadi, Anda dapat menghapus sumber daya satu per satu atau menghapus grup sumber daya untuk menghapus seluruh set sumber daya. Sumber daya yang dibiarkan tetap aktif dapat merugikan Anda secara finansial.
Menggunakan Azure Cloud Shell, jalankan perintah ini untuk menghapus grup sumber daya:
az group delete --name mongodbrg