Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan memulai cepat ini, Anda membuat aplikasi Azure Cosmos DB (sebelumnya dikenal sebagai DocumentDB) dasar menggunakan Python. Azure DocumentDB adalah penyimpanan data NoSQL yang memungkinkan aplikasi menyimpan dokumen di cloud dan mengaksesnya menggunakan driver MongoDB resmi. Panduan ini memperlihatkan cara membuat dokumen dan melakukan tugas dasar di kluster Azure DocumentDB Anda menggunakan Python.
Referensi | APIKode sumber | Paket (PyPI)
Prasyarat
Langganan Azure
- Jika Anda tidak memiliki langganan Azure, buat akun gratis
- Python 3.12 atau yang lebih baru
Membuat kluster Azure DocumentDB
Untuk memulai, Pertama-tama Anda perlu membuat kluster Azure DocumentDB, yang berfungsi sebagai fondasi untuk menyimpan dan mengelola data NoSQL Anda.
Masuk ke portal Microsoft Azure (https://portal.azure.com).
Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.
Pada halaman Baru , cari dan pilih Azure DocumentDB.
Pada halaman Buat kluster Azure DocumentDB dan di dalam bagian Dasar , pilih opsi Konfigurasi di dalam bagian Tingkat kluster .
Pada halaman Skala , konfigurasikan opsi ini lalu pilih Simpan untuk mempertahankan perubahan Anda ke tingkat kluster.
Nilai Tingkat kluster M30 tier, 2 vCore, 8-GiB RAMPenyimpanan per pecahan 128 GiB
Kembali ke bagian Dasar , konfigurasikan opsi berikut:
Nilai Subscription Pilih langganan Azure Anda grup Sumber Daya Membuat grup sumber daya baru atau memilih grup sumber daya yang sudah ada Nama kluster Berikan nama yang unik secara global Tempat Pilih wilayah Azure yang didukung untuk langganan Anda Versi MongoDB Pilih 8.0Nama pengguna admin Membuat nama pengguna untuk mengakses kluster sebagai administrator pengguna Password Menggunakan kata sandi unik yang terkait dengan nama pengguna
Petunjuk / Saran
Catat nilai yang Anda gunakan untuk nama pengguna dan kata sandi. Nilai-nilai ini digunakan nanti dalam panduan ini. Untuk informasi selengkapnya tentang nilai yang valid, lihat batasan kluster.
Pilih Berikutnya: Jaringan.
Di bagian Aturan firewall pada tab Jaringan, konfigurasikan opsi ini:
Nilai Metode konektivitas Public accessIzinkan akses publik dari layanan dan sumber daya Azure dalam Azure ke kluster ini Enabled Tambahkan aturan firewall untuk perangkat klien Anda saat ini untuk memberikan akses ke kluster dengan memilih + Tambahkan alamat IP klien saat ini.
Petunjuk / Saran
Di banyak lingkungan perusahaan, alamat IP komputer pengembang disembunyikan karena VPN atau pengaturan jaringan perusahaan lainnya. Dalam kasus ini, Anda dapat mengizinkan akses untuk sementara ke semua alamat IP dengan menambahkan
0.0.0.0-255.255.255.255rentang alamat IP sebagai aturan firewall. Gunakan aturan firewall ini hanya sementara sebagai bagian dari pengujian dan pengembangan koneksi.Pilih Tinjau + kreasikan.
Tinjau pengaturan yang Anda berikan, kemudian pilih Buat. Perlu waktu beberapa menit untuk membuat kluster tersebut. Tunggu penyebaran sumber daya selesai.
Terakhir, pilih Buka sumber daya untuk menavigasi ke kluster Azure DocumentDB di portal.
Mendapatkan kredensi kluster
Dapatkan kredensial yang Anda gunakan untuk menyambungkan ke kluster.
Pada halaman kluster, pilih opsi String koneksi di menu sumber daya.
Di bagian String koneksi , salin atau rekam nilai dari bidang String koneksi .
Penting
String koneksi di portal tidak menyertakan nilai kata sandi. Anda harus mengganti <password> tempat penampung dengan kredensial yang Anda masukkan saat membuat kluster atau memasukkan kata sandi secara interaktif.
Menginisialisasi proyek
Buat proyek Python baru dan siapkan lingkungan virtual di direktori Anda saat ini.
Mulai di direktori kosong.
Buka terminal di direktori saat ini.
Membuat dan mengaktifkan lingkungan virtual.
python -m venv venv venv\Scripts\activate
Memasang pustaka klien
Pustaka klien tersedia melalui PyPI, sebagai pymongo paket.
Instal driver MongoDB Python menggunakan pip.
pip install pymongoBuat file Python baru bernama
main.pyuntuk kode aplikasi Anda.Impor modul yang diperlukan ke dalam kode aplikasi Anda:
from pymongo import MongoClient from pymongo.errors import ConnectionFailure import sys
Model objek
| Nama | Description |
|---|---|
MongoClient |
Jenis yang digunakan untuk menyambungkan ke MongoDB. |
Database |
Mewakili database dalam kluster. |
Collection |
Mewakili koleksi dalam database dalam kluster. |
Contoh kode
- Autentikasi klien
- Dapatkan koleksi
- Membuat dokumen
- Mengambil kembali dokumen
- Dokumen Permintaan Informasi
Kode dalam aplikasi ini tersambung ke database bernama adventureworks dan koleksi bernama products. Koleksi products berisi detail seperti nama, kategori, kuantitas, pengidentifikasi unik, dan bendera penjualan untuk setiap produk. Contoh kode di sini melakukan operasi yang paling umum saat bekerja dengan kumpulan.
Mengautentikasi klien
Pertama, sambungkan ke klien menggunakan string koneksi dasar.
Buat fungsi utama dan siapkan string koneksi. Ganti
<your-cluster-name>,<your-username>, dan<your-password>dengan informasi kluster Anda yang sebenarnya.def main(): try: # Connection string for Azure DocumentDB cluster connection_string = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" # Create a new client and connect to the server client = MongoClient(connection_string)Sambungkan ke klien MongoDB dan verifikasi koneksi.
# Ping the server to verify connection client.admin.command('ping') print("Successfully connected and pinged Azure DocumentDB")
Dapatkan koleksi
Sekarang, dapatkan database dan koleksi Anda. Jika database dan koleksi belum ada, gunakan driver untuk membuatnya secara otomatis.
Dapatkan referensi ke database.
# Get database reference database = client["adventureworks"] print(f"Connected to database: {database.name}")Dapatkan referensi ke koleksi dalam database.
# Get collection reference collection = database["products"] print("Connected to collection: products")
Buat dokumen
Kemudian, buat beberapa dokumen baru dalam koleksi Anda. Melakukan operasi upsert pada dokumen untuk memastikan bahwa dokumen tersebut mengganti dokumen yang ada jika dokumen dengan pengidentifikasi unik yang sama sudah ada.
Buat contoh dokumen produk.
# Create sample products products = [ { "_id": "00000000-0000-0000-0000-000000004018", "name": "Windry Mittens", "category": "apparel-accessories-gloves-and-mittens", "quantity": 121, "price": 35.00, "sale": False, }, { "_id": "00000000-0000-0000-0000-000000004318", "name": "Niborio Tent", "category": "gear-camp-tents", "quantity": 140, "price": 420.00, "sale": True, } ]Sisipkan dokumen menggunakan operasi upsert.
# Insert documents with upsert for product in products: filter_doc = {"_id": product["_id"]} collection.replace_one(filter_doc, product, upsert=True) print(f"Upserted product: {product['name']}")
Mengambil dokumen
Selanjutnya, lakukan operasi pembacaan titik data untuk mengambil sebuah dokumen tertentu dari koleksi Anda.
Tentukan filter untuk menemukan dokumen tertentu menurut ID.
# Retrieve a specific document by ID filter_doc = {"_id": "00000000-0000-0000-0000-000000004018"}Jalankan kueri dan ambil hasilnya.
retrieved_product = collection.find_one(filter_doc) if retrieved_product: print(f"Retrieved product: {retrieved_product['name']} - ${retrieved_product['price']}") else: print("Product not found")
Melakukan kueri pada dokumen
Terakhir, kueri beberapa dokumen menggunakan MongoDB Query Language (MQL).
Tentukan kueri untuk menemukan dokumen yang cocok dengan kriteria tertentu.
# Query for products on sale sale_filter = {"sale": True} sale_products = list(collection.find(sale_filter))Telusuri hasilnya untuk menampilkan dokumen yang cocok.
print("Products on sale:") for product in sale_products: print(f"- {product['name']}: ${product['price']:.2f} (Category: {product['category']})") except ConnectionFailure as e: print(f"Could not connect to MongoDB: {e}") sys.exit(1) except Exception as e: print(f"An error occurred: {e}") sys.exit(1) finally: client.close() if __name__ == "__main__": main()
Menjelajahi data Anda menggunakan Visual Studio Code
Gunakan ekstensi DocumentDB di Visual Studio Code untuk melakukan operasi database inti, termasuk mengkueri, menyisipkan, memperbarui, dan menghapus data.
Buka Visual Studio Code.
Navigasi ke tampilan Ekstensi dan cari istilah
DocumentDB. Temukan ekstensi DocumentDB untuk Visual Studio Code .Pilih tombol Instal untuk ekstensi. Tunggu hingga penginstalan selesai. Muat ulang Visual Studio Code jika diminta.
Navigasikan ke ekstensi DocumentDB dengan memilih ikon terkait di Bilah Aktivitas.
Di panel Koneksi DocumentDB , pilih + Koneksi Baru....
Dalam dialog, pilih Penemuan Layanan lalu Azure DocumentDB - Azure Service Discovery.
Pilih langganan Azure Anda dan kluster Azure DocumentDB yang baru dibuat.
Petunjuk / Saran
Di banyak lingkungan perusahaan, alamat IP komputer pengembang disembunyikan karena VPN atau pengaturan jaringan perusahaan lainnya. Dalam kasus ini, Anda dapat mengizinkan akses untuk sementara ke semua alamat IP dengan menambahkan
0.0.0.0-255.255.255.255rentang alamat IP sebagai aturan firewall. Gunakan aturan firewall ini hanya sementara sebagai bagian dari pengujian dan pengembangan koneksi. Untuk informasi selengkapnya, lihat mengonfigurasi firewall.Kembali ke panel Koneksi DocumentDB , perluas simpul untuk kluster Anda dan navigasikan ke dokumen dan simpul koleksi yang sudah ada.
Buka menu konteks untuk koleksi lalu pilih DocumentDB Scrapbook > New DocumentDB Scrapbook.
Masukkan perintah MongoDB Query Language (MQL) berikut lalu pilih Jalankan Semua. Perhatikan hasil keluaran dari perintah.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Membersihkan sumber daya
Setelah selesai dengan kluster Azure DocumentDB, Anda dapat menghapus sumber daya Azure yang Anda buat sehingga Anda tidak dikenakan lebih banyak biaya.
Di bilah pencarian portal Azure, cari dan pilih Grup sumber daya.
Dalam daftar, pilih grup sumber daya yang Anda gunakan untuk panduan memulai cepat ini.
Pada halaman grup sumber daya, pilih Hapus grup sumber daya.
Dalam dialog konfirmasi penghapusan, masukkan nama grup sumber daya untuk mengonfirmasi bahwa Anda ingin menghapusnya. Terakhir, pilih Hapus untuk menghapus grup sumber daya secara permanen.