Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ebben a rövid útmutatóban egy alapszintű Azure DocumentDB-alkalmazást hoz létre a Python használatával. Az Azure DocumentDB egy NoSQL-adattár, amellyel az alkalmazások a felhőben tárolhatják a dokumentumokat, és hivatalos MongoDB-illesztőprogramokkal érhetik el őket. Ez az útmutató bemutatja, hogyan hozhat létre dokumentumokat, és hogyan hajthat végre alapvető feladatokat az Azure DocumentDB-fürtben a Python használatával.
API-referencia | Forráskód | Csomag (PyPI)
Előfeltételek
Azure-előfizetés
- Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot
- Python 3.12 vagy újabb
Hozzon létre egy Azure DocumentDB-fürtöt
Első lépésként létre kell hoznia egy Azure DocumentDB-fürtöt, amely a NoSQL-adatok tárolásának és kezelésének alapja.
Jelentkezzen be az Azure Portalra (https://portal.azure.com).
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új lapon keresse meg és válassza ki az Azure DocumentDB-t.
Az Azure DocumentDB-fürt létrehozása oldal Alapok szakaszában válassza a Fürtszint szakaszban a Konfigurálás lehetőséget.
A Méretezés lapon konfigurálja ezeket a beállításokat, majd válassza a Mentés lehetőséget a fürtszintre vonatkozó módosítások megőrzéséhez.
Érték Fürtszint M30 tier, 2 vCore, 8-GiB RAMTárterület szegmensenként 128 GiB
Az Alapok szakaszban konfigurálja a következő beállításokat:
Érték Subscription Az Azure-előfizetés kiválasztása Erőforráscsoport Új erőforráscsoport létrehozása vagy meglévő erőforráscsoport kiválasztása Fürt neve Globálisan egyedi név megadása Location Válasszon egy támogatott Azure-régiót az előfizetéséhez MongoDB-verzió A következők szerint válasszon: 8.0Rendszergazdai felhasználónév Felhasználónév létrehozása a fürt felhasználói rendszergazdaként való eléréséhez Jelszó A felhasználónévhez társított egyedi jelszó használata
Jótanács
Jegyezze fel a felhasználónévhez és jelszóhoz használt értékeket. Ezeket az értékeket az útmutató későbbi részében használjuk. Az érvényes értékekkel kapcsolatos további információkért tekintse meg a fürt korlátait.
Válassza ki a Tovább: Hálózatkezelés lehetőséget.
A Hálózatkezelés lap Tűzfalszabályok szakaszában konfigurálja az alábbi beállításokat:
Érték Kapcsolati módszer Public accessNyilvános hozzáférés engedélyezése az Azure-ban lévő Azure-szolgáltatásokból és erőforrásokból ehhez a fürthöz Engedélyezett Adjon hozzá egy tűzfalszabályt a jelenlegi klienseszközhöz, hogy hozzáférést biztosítson a fürthöz a + Jelenlegi kliens IP-cím hozzáadása lehetőség kiválasztásával.
Jótanács
Számos vállalati környezetben a fejlesztői gép IP-címei vpn vagy más vállalati hálózati beállítások miatt rejtve vannak. Ezekben az esetekben ideiglenesen engedélyezheti az összes IP-cím elérését az
0.0.0.0-255.255.255.255IP-címtartomány tűzfalszabályként való hozzáadásával. Ezt a tűzfalszabályt csak ideiglenesen használja a kapcsolattesztelés és -fejlesztés részeként.Válassza az Áttekintés + létrehozás lehetőséget.
Tekintse át a megadott beállításokat, majd kattintson a Létrehozás-ra. A klaszter létrehozása néhány percet vesz igénybe. Várjon, amíg az erőforrás üzembe helyezése befejeződött.
Végül válassza a Menjen az erőforráshoz lehetőséget, hogy navigáljon az Azure DocumentDB-fürthöz a portálon.
Szerezze be a fürt hitelesítő adatait
Szerezd be a fürthöz való csatlakozáshoz használt hitelesítő adatokat.
A fürtoldalon válassza a Kapcsolati láncokat lehetőséget az erőforrás menüjében.
A Kapcsolati sztringek szakaszban másolja vagy rögzítse a Kapcsolati sztring mező értékét.
Fontos
A portál kapcsolati sztringje nem tartalmazza a jelszó értékét. A <password> helyettesítő szöveget le kell cserélnie a fürt létrehozásakor megadott hitelesítő adatokkal, vagy interaktívan be kell írnia a jelszót.
A projekt inicializálása
Hozzon létre egy új Python-projektet, és állítson be egy virtuális környezetet az aktuális címtárban.
Kezdje egy üres mappában.
Nyisson egy terminált az aktuális könyvtárban.
Virtuális környezet létrehozása és aktiválása.
python -m venv venv venv\Scripts\activate
Telepítse a klienskönyvtárat
Az ügyfélkönyvtár a pymongo csomagként a PyPI-n keresztül érhető el.
Telepítse a MongoDB Python-illesztőt pip használatával.
pip install pymongoHozzon létre egy új Python-fájlt az alkalmazáskódhoz.
main.pyImportálja a szükséges modulokat az alkalmazáskódba:
from pymongo import MongoClient from pymongo.errors import ConnectionFailure import sys
Objektummodell
| Név | Description |
|---|---|
MongoClient |
A MongoDB-hez való csatlakozáshoz használt típus. |
Database |
Egy adatbázist jelöl a klaszterben. |
Collection |
Egy adatbázison belüli gyűjteményt jelöl a fürtben. |
Példakódok
- Az ügyfél hitelesítése
- Gyűjtemény lekérése
- Dokumentum létrehozása
- Dokumentum lekérése
- Dokumentumok lekérdezése
Az alkalmazás kódja egy elnevezett adventureworks adatbázishoz és egy nevű productsgyűjteményhez csatlakozik. A products gyűjtemény olyan részleteket tartalmaz, mint a név, a kategória, a mennyiség, az egyedi azonosító és az egyes termékekhez tartozó értékesítési jelző. Az itt található kódminták a leggyakoribb műveleteket hajtják végre a gyűjtemények használatakor.
Az ügyfél hitelesítése
Először csatlakozzon az ügyfélhez egy egyszerű kapcsolati sztring használatával.
Hozza létre a fő függvényt, és állítsa be a kapcsolati sztringet. Cserélje le
<your-cluster-name>,<your-username>és<your-password>a tényleges fürtinformációkkal.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)Csatlakozzon a MongoDB-ügyfélhez, és ellenőrizze a kapcsolatot.
# Ping the server to verify connection client.admin.command('ping') print("Successfully connected and pinged Azure DocumentDB")
Gyűjtemény lekérése
Most szerezze be az adatbázist és a gyűjteményt. Ha az adatbázis és a gyűjtemény még nem létezik, az illesztővel automatikusan létrehozhatja.
Az adatbázisra mutató hivatkozás lekérése.
# Get database reference database = client["adventureworks"] print(f"Connected to database: {database.name}")Az adatbázison belüli gyűjteményre mutató hivatkozás lekérése.
# Get collection reference collection = database["products"] print("Connected to collection: products")
Dokumentum létrehozása
Ezután hozzon létre néhány új dokumentumot a gyűjteményben. A dokumentumokat úgy állíthatja be, hogy az lecserélje a meglévő dokumentumokat, ha már léteznek ugyanazzal az egyedi azonosítóval.
Mintatermék-dokumentumok létrehozása.
# 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, } ]Helyezze be a dokumentumokat "upsert" műveletek használatával.
# 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']}")
Dokumentum lekérése
Ezután végezzen pontolvasási műveletet egy adott dokumentum gyűjteményből való lekéréséhez.
Adja meg a szűrőt egy adott dokumentum azonosító alapján való megkereséséhez.
# Retrieve a specific document by ID filter_doc = {"_id": "00000000-0000-0000-0000-000000004018"}Hajtsa végre a lekérdezést, és kérje le az eredményt.
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")
Dokumentumok lekérdezése
Végül több dokumentumot is lekérdezhet a MongoDB lekérdezési nyelv (MQL) használatával.
Lekérdezés definiálása adott feltételeknek megfelelő dokumentumok megkereséséhez.
# Query for products on sale sale_filter = {"sale": True} sale_products = list(collection.find(sale_filter))Iterálja végig az eredményeket az egyező dokumentumok megjelenítéséhez.
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()
Adatok felfedezése a Visual Studio Code használatával
A Visual Studio Code DocumentDB bővítményével alapvető adatbázis-műveleteket hajthat végre, beleértve az adatok lekérdezését, beszúrását, frissítését és törlését.
Nyissa meg a Visual Studio Code-ot.
Lépjen a Bővítmények nézetre, és keresse meg a kifejezést
DocumentDB. Keresse meg a DocumentDB for VS Code bővítményt .Válassza a bővítmény Telepítés gombját. Várja meg, amíg a telepítés befejeződik. Töltse újra a Visual Studio kódot, ha erre felszólítják.
Lépjen a DocumentDB bővítményre a tevékenységsáv megfelelő ikonjának kiválasztásával.
A DocumentDB-kapcsolatok panelen válassza az + Új kapcsolat... lehetőséget.
A párbeszédpanelen válassza a Service Discovery , majd az Azure DocumentDB – Azure Service Discovery lehetőséget.
Válassza ki az Azure-előfizetését és az újonnan létrehozott Azure DocumentDB-fürtöt.
Jótanács
Számos vállalati környezetben a fejlesztői gép IP-címei vpn vagy más vállalati hálózati beállítások miatt rejtve vannak. Ezekben az esetekben ideiglenesen engedélyezheti az összes IP-cím elérését az
0.0.0.0-255.255.255.255IP-címtartomány tűzfalszabályként való hozzáadásával. Ezt a tűzfalszabályt csak ideiglenesen használja a kapcsolattesztelés és -fejlesztés részeként. További információ: tűzfal konfigurálása.Visszatérve a DocumentDB-kapcsolatok panelre, bontsa ki a fürt csomópontját, és keresse meg a meglévő dokumentum- és gyűjteménycsomópontokat.
Nyissa meg a gyűjtemény helyi menüjét, majd válassza a DocumentDB Scrapbook > New DocumentDB Scrapbook lehetőséget.
Adja meg a következő MongoDB lekérdezési nyelv (MQL) parancsokat, majd válassza az Összes futtatása lehetőséget. Figyelje meg a parancsok kimenetét.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Erőforrások tisztítása
Ha végzett az Azure DocumentDB-fürttel, törölheti a létrehozott Azure-erőforrásokat, így nem kell további díjakat fizetnie.
Az Azure Portal keresősávján keresse meg és válassza ki az erőforráscsoportokat.
A listában válassza ki a rövid útmutatóhoz használt erőforráscsoportot.
Az erőforráscsoport lapján válassza az Erőforráscsoport törlése lehetőséget.
A törlés megerősítését kérő párbeszédpanelen adja meg az erőforráscsoport nevét annak megerősítéséhez, hogy törölni kívánja azt. Végül válassza a Törlés lehetőséget az erőforráscsoport végleges törléséhez.