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.
BERLAKU UNTUK:
MongoDB
Artikel ini memperlihatkan kepada Anda cara menyambungkan ke Azure Cosmos DB untuk MongoDB menggunakan paket driver PyMongo. Setelah tersambung, Anda dapat melakukan operasi pada database, kontainer, dan item.
Catatan
Contoh cuplikan kode tersedia di GitHub sebagai proyek Python.
Artikel ini menunjukkan kepada Anda cara berkomunikasi dengan API Azure Cosmos DB untuk MongoDB dengan menggunakan salah satu driver klien MongoDB sumber terbuka untuk Python, PyMongo.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Python 3.8+
- Azure Command-Line Interface (CLI) atau Azure PowerShell
- Azure Cosmos DB untuk sumber daya MongoDB
Membuat aplikasi Python baru
Buat folder kosong baru menggunakan terminal pilihan Anda dan ubah direktori ke folder .
Catatan
Jika Anda hanya ingin kode yang sudah selesai, unduh atau fork dan kloning contoh cuplikan kode repositori yang memiliki contoh lengkap. Anda juga
git clonedapat melakukan repositori di Azure Cloud Shell untuk menelusuri langkah-langkah yang ditunjukkan dalam mulai cepat ini.Buat file requirements.txt yang mencantumkan paket PyMongo dan python-dotenv . Paket
dotenvdigunakan untuk membaca variabel lingkungan dari file.envselama pengembangan lokal.# requirements.txt pymongo python-dotenvBuat lingkungan virtual dan instal paket.
# py -3 uses the global python interpreter. You can also use python3 -m venv .venv. py -3 -m venv .venv source .venv/Scripts/activate pip install -r requirements.txt
Menyambungkan dengan driver PyMongo ke Azure Cosmos DB untuk MongoDB
Untuk terhubung dengan driver PyMongo ke Azure Cosmos DB, buat instans objek MongoClient . Kelas ini adalah titik awal untuk melakukan semua operasi terhadap database.
Konstruktor yang paling umum untuk MongoClient hanya host memerlukan parameter, yang dalam artikel ini diatur ke COSMOS_CONNECTION_STRING variabel lingkungan. Ada parameter opsional dan parameter kata kunci lain yang dapat Anda gunakan di konstruktor. Banyak parameter opsional juga dapat ditentukan dengan host parameter . Jika opsi yang sama diteruskan dengan host dan sebagai parameter, parameter lebih diutamakan.
Lihat Panduan pemecahan masalah untuk masalah koneksi.
Dapatkan nama sumber daya
Dalam perintah di bawah ini, kami menampilkan msdocs-cosmos sebagai nama grup sumber daya. Ubah nama yang sesuai untuk situasi Anda.
Buat variabel shell untuk resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"Gunakan perintah
az cosmosdb listuntuk mengambil nama akun Azure Cosmos DB pertama di grup sumber daya Anda dan simpan di variabel shell accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Mengambil string koneksi Anda
Temukan API untuk MongoDB string koneksi dari daftar string koneksi untuk akun dengan
az cosmosdb keys listperintah .az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountNameRekam nilai KUNCI PRIMER. Anda akan menggunakan info masuk ini nanti.
Mengonfigurasi variabel lingkungan
Untuk menggunakan nilai STRING KONEKSI dalam kode Anda, atur nilai ini di lingkungan lokal yang menjalankan aplikasi. Untuk mengatur variabel lingkungan, gunakan terminal pilihan Anda untuk menjalankan perintah berikut:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Membuat MongoClient dengan string koneksi
Tambahkan dependensi untuk mereferensikan paket PyMongo dan python-dotenv .
import os import sys import pymongo from dotenv import load_dotenvTentukan instans
MongoClientbaru kelas menggunakan konstruktor dan string koneksi dibaca dari variabel lingkungan.load_dotenv() CONNECTION_STRING = os.environ.get("COSMOS_CONNECTION_STRING") client = pymongo.MongoClient(CONNECTION_STRING) for prop, value in vars(client.options).items(): print("Property: {}: Value: {} ".format(prop, value))
Untuk informasi selengkapnya tentang berbagai cara untuk membuat MongoClient instans, lihat Membuat Koneksi dengan MongoClient.
Menutup koneksi MongoClient
Setelah aplikasi Anda selesai dengan koneksi, ingatlah untuk menutupnya. Panggilan .close() itu harus terjasi setelah semua panggilan database dilakukan.
client.close()
Menggunakan kelas klien MongoDB dengan Azure Cosmos DB untuk API untuk MongoDB
Sebelum Anda mulai membangun aplikasi, mari kita lihat hierarki sumber daya di Azure Cosmos DB. Azure Cosmos DB memiliki model objek tertentu yang digunakan untuk membuat dan mengakses sumber daya. Azure Cosmos DB membuat sumber daya dalam hierarki yang terdiri dari akun, database, koleksi, dan dokumen.
Diagram hierarkis memperlihatkan akun Azure Cosmos DB untuk MongoDB di bagian atas. Akun ini memiliki dua node database turunan. Salah satu node database tersebut memiliki dua node koleksi turunan. Node database lainnya memiliki satu node koleksi turunan. Satu node koleksi tersebut memiliki tiga node dokumen turunan.
Setiap jenis sumber daya diwakili oleh satu atau beberapa kelas Python terkait. Berikut adalah daftar kelas yang paling umum:
MongoClient - Langkah pertama saat bekerja dengan PyMongo adalah membuat MongoClient untuk terhubung ke API Azure Cosmos DB untuk MongoDB. Klien ini digunakan untuk mengonfigurasi dan menjalankan permintaan terhadap layanan.
Database - API Azure Cosmos DB untuk MongoDB dapat mendukung satu atau beberapa database independen.
Koleksi - Database dapat berisi satu atau beberapa koleksi. Koleksi adalah sekelompok dokumen yang disimpan di MongoDB, dan dapat dianggap setara dengan tabel dalam database relasional.
Dokumen - Dokumen adalah sekumpulan pasangan kunci-nilai. Dokumen memiliki skema dinamis. Skema dinamis berarti bahwa dokumen dalam koleksi yang sama tidak perlu memiliki kumpulan bidang atau struktur yang sama. Dan bidang umum dalam dokumen koleksi mungkin menyimpan berbagai jenis data.
Untuk mempelajari selengkapnya tentang hierarki entitas, lihat artikel model sumber daya Azure Cosmos DB.
Lihat juga
Langkah berikutnya
Sekarang setelah Anda terhubung ke API untuk akun MongoDB, gunakan panduan berikutnya untuk membuat dan mengelola database.