Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
Meglévő MongoDB-alkalmazást szeretne migrálni, vagy MongoDB Query Language (MQL) funkciókat szeretne használni? Fontolja meg az Azure DocumentDB-t.
Olyan adatbázismegoldást keres nagy léptékű forgatókönyvekhez, amelyekben 99,9999-es% rendelkezésre állási szolgáltatásiszint-szerződés (SLA), azonnali automatikus skálázás és automatikus feladatátvétel több régióban? Fontolja meg az Azure Cosmos DB-t a NoSQL-hoz.
Ebben a rövid útmutatóban üzembe helyez egy alapszintű Azure Cosmos DB for MongoDB-alkalmazást a Python használatával. Az Azure Cosmos DB for MongoDB egy séma nélküli adattár, amellyel az alkalmazások strukturálatlan dokumentumokat tárolnak a felhőben MongoDB-kódtárakkal. Megtudhatja, hogyan hozhat létre dokumentumokat, és hogyan hajthat végre alapvető feladatokat az Azure Cosmos DB-erőforrásban a Python használatával.
Kódtár forráskódcsomagja (PyPI) |
Prerequisites
- Azure Developer CLI
- Docker Desktop
- Python 3.12
Ha nem rendelkezik Azure-fiókkal, a kezdés előtt hozzon létre egy ingyenes fiókot .
A projekt inicializálása
Az Azure Developer CLI (azd) használatával hozzon létre egy Azure Cosmos DB for Table-fiókot, és helyezzen üzembe egy tárolóalapú mintaalkalmazást. A mintaalkalmazás az ügyfélkódtárat használja a mintaadatok kezelésére, létrehozására, olvasására és lekérdezésére.
Nyisson meg egy terminált egy üres mappában.
Ha még nincs hitelesítve, jelentkezzen be az Azure Developer CLI-be a
azd auth loginhasználatával. Kövesse az eszköz által megadott lépéseket a parancssori felületre való hitelesítéshez az ön által előnyben részesített Azure-hitelesítő adatokkal.azd auth loginA projekt inicializálására használható
azd init.azd init --template cosmos-db-mongodb-python-quickstartAz inicializálás során konfiguráljon egy egyedi környezetnevet.
Az Azure Cosmos DB-fiókot
azd uphasználatával helyezze üzembe. A Bicep-sablonok egy minta webalkalmazást is üzembe helyeznek.azd upA kiépítési folyamat során válassza ki az előfizetést, a kívánt helyet és a célerőforrás-csoportot. Várja meg, amíg a kiépítési folyamat befejeződik. A folyamat körülbelül öt percet vehet igénybe.
A Azure-erőforrások kiépítése után a kimenet tartalmazza a futó webalkalmazás URL-címét.
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.A konzol URL-címével keresse meg a webalkalmazást a böngészőben. Figyelje meg a futó alkalmazás kimenetét.
Telepítse a klienskönyvtárat
Az ügyfélkönyvtár a PyPi-on keresztül, mint pymongo csomag érhető el.
Nyisson meg egy terminált, és keresse meg a
/srcmappát.cd ./srcHa még nincs telepítve, a
pymongocsomagot telepítse apip installsegítségével.pip install pymongoNyissa meg és tekintse át az src/requirements.txt fájlt a
pymongobejegyzés meglétének ellenőrzéséhez.
Könyvtárak importálása
Importálja a típust MongoClient az alkalmazáskódba.
from pymongo import MongoClient
Objektummodell
| Name | Description |
|---|---|
MongoClient |
A MongoDB-hez való csatlakozáshoz használt típus. |
Database |
Az adott fiókban lévő adatbázist jelöli. |
Collection |
A fiók adatbázisán belüli gyűjteményt jelöl. |
Példakódok
- Az ügyfél hitelesítése
- Adatbázis lekérése
- Gyűjtemény lekérése
- Dokumentum létrehozása
- Dokumentum lekérése
- Dokumentumok lekérdezése
A sablon mintakódja egy névvel ellátott cosmicworks adatbázist és egy nevű gyűjteményt productshasznál. A products gyűjtemény olyan részleteket tartalmaz, mint a név, a kategória, a mennyiség és az egyes termékek egyedi azonosítója. A gyűjtemény a /category tulajdonságot szilánkkulcsként használja.
Az ügyfél hitelesítése
Ez a minta létrehoz egy új példányt a MongoClient típusból.
connection_string = "<azure-cosmos-db-for-mongodb-connection-string>"
client = MongoClient(connection_string)
Adatbázis lekérése
Ez a minta a Database típus egy példányát hozza létre a get_database típus MongoClient függvényének használatával.
database = client.get_database("<database-name>")
Gyűjtemény lekérése
Ez a minta a Collection típus egy példányát hozza létre a get_collection típus Database függvényének használatával.
collection = database.get_collection("<collection-name>")
Dokumentum létrehozása
Hozzon létre egy dokumentumot a gyűjteményben a collection.update_one használatával. Ez a módszer "upserteli" az elemet, vagyis hatékonyan kicseréli, ha az már létezik.
new_document = {
"_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"category": "gear-surf-surfboards",
"name": "Yamba Surfboard",
"quantity": 12,
"sale": False,
}
filter = {
"_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"category": "gear-surf-surfboards"
}
payload = {
"$set": new_document
}
result = collection.update_one(filter, payload, upsert=True);
Olvasson el egy dokumentumot
Végezzen pontolvasási műveletet az egyedi azonosító (id) és a szegmenskulcs mezőinek használatával. Az adott elem hatékony lekérésére használható collection.find_one .
filter = {
"_id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"category": "gear-surf-surfboards"
}
existing_document = collection.find_one(filter)
Dokumentumok lekérdezése
Lekérdezés végrehajtása egy tároló több eleme felett a következő használatával collection.find: . Ez a lekérdezés megkeresi a megadott kategórián (szegmenskulcson) belüli összes elemet.
filter = {
"category": "gear-surf-surfboards"
}
matched_documents = collection.find(filter)
for document in matched_documents:
# Do something with each item
Fedezd fel az adataidat
A MongoDB-adatok megismeréséhez használja az Azure Cosmos DB Visual Studio Code-bővítményét. Alapvető adatbázisműveleteket hajthat végre, beleértve, de nem kizárólagosan az alábbiakat:
- Lekérdezések végrehajtása egy album vagy a lekérdezésszerkesztő használatával
- Dokumentumok módosítása, frissítése, létrehozása és törlése
- Tömeges adatok importálása más forrásokból
- Adatbázisok és gyűjtemények kezelése
További információ: A Visual Studio Code bővítmény használata az Azure Cosmos DB for MongoDB-adatok megismeréséhez.
Erőforrások tisztítása
Ha már nincs szüksége a mintaalkalmazásra vagy erőforrásokra, távolítsa el a megfelelő üzembe helyezést és az összes erőforrást.
azd down --force --purge