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.
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ári forráskód | Csomag (NuGet) | Azure Developer CLI
Előfeltételek
- Azure Developer CLI
- Docker Desktop
- .NET SDK 9.0
Ha még nem rendelkezik Azure-fiókkal, első lépésként 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 egy terminált egy üres könyvtárban.
Ha még nincs hitelesítve, jelentkezzen be az Azure Developer CLI-be a használatával
azd auth login. 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-dotnet-quickstartAz inicializálás során konfiguráljon egy egyedi környezetnevet.
Azure Cosmos DB-fiók telepítése a
azd uphasználatával. 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.
Az 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 az ügyfélkönyvtárat
A klienstár csomagként MongoDB.Driver a NuGeten keresztül érhető el.
Nyisson meg egy terminált, és keresse meg a
/src/webmappát.cd ./src/webHa még nincs telepítve, telepítse a
MongoDB.Drivercsomagot adotnet add packagesegítségével.dotnet add package MongoDB.DriverNyissa meg és tekintse át az src/web/Microsoft.Samples.Cosmos.MongoDB.Quickstart.Web.csproj fájlt a
MongoDB.Driverbejegyzés meglétének ellenőrzéséhez.
Könyvtárak importálása
Importálja a MongoDB.Driver névteret az alkalmazás kódjába.
using MongoDB.Driver;
Objektummodell
| Név | Leírás |
|---|---|
MongoClient |
A MongoDB-hez való csatlakozáshoz használt típus. |
Database |
Egy adatbázist jelöl a fiókban. |
Collection |
A fiók adatbázisán belüli gyűjteményt jelöl. |
Kódpéldák
- 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étrehozza a(z) MongoClient osztály új példányát.
string connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";
MongoClient client = new(connectionString);
Adatbázis lekérése
Ez a minta a IMongoDatabase osztály GetDatabase metódusával hozza létre a MongoClient felület egy példányát.
IMongoDatabase database = client.GetDatabase("<database-name>");
Gyűjtemény lekérése
Ez a minta az általános IMongoCollection<> felület egy példányát hozza létre az GetCollection<> interfész általános módszerével. Az általános felület és a metódus egyaránt egy másik osztályban definiált Product típust használ.
IMongoCollection<Product> collection = database.GetCollection<Product>("<collection-name>");
public record Product(
string id,
string category,
string name,
int quantity,
decimal price,
bool clearance
);
Dokumentum létrehozása
Hozzon létre egy dokumentumot a gyűjteményben az általános collection.ReplaceOneAsync<> típusparaméterrelProduct. Ez a metódus hatékonyan beszúrja vagy frissíti az elemet, ha az már létezik.
Product document = new(
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
category: "gear-surf-surfboards",
name: "Yamba Surfboard",
quantity: 12,
price: 850.00m,
clearance: false
);
await collection.ReplaceOneAsync<Product>(
d => d.id == document.id,
document,
new ReplaceOptions { IsUpsert = true }
);
Dokumentum olvasása
Végezzen pontolvasási műveletet az egyedi azonosító (id) és a szegmenskulcs mezőinek használatával. Az collection.FindAsync<> általános Product típusparaméterrel hatékonyan lekérheti az adott elemet.
IAsyncCursor<Product> documents = await collection.FindAsync<Product>(
d => d.id == "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" && d.category == "gear-surf-surfboards"
);
Product? document = await documents.SingleOrDefaultAsync();
Dokumentumok lekérdezése
Lekérdezés végrehajtása egy tároló több elemén collection.AsQueryable() és a nyelvvel integrált lekérdezés (LINQ) használatával. Ez a lekérdezés megkeresi a megadott kategórián (szegmenskulcson) belüli összes elemet.
IQueryable<Product> documents = collection.AsQueryable().Where(
d => d.category == "gear-surf-surfboards"
);
foreach (Product document in await documents.ToListAsync())
{
// Do something with each item
}
Fedezze fel az adatait
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.
Az erőforrások megtisztí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