Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart implementeert u een eenvoudige Azure Cosmos DB voor MongoDB-toepassing met behulp van Python. Azure Cosmos DB voor MongoDB is een schemaloos gegevensarchief waarmee toepassingen ongestructureerde documenten in de cloud kunnen opslaan met MongoDB-bibliotheken. U leert hoe u documenten maakt en basistaken uitvoert in uw Azure Cosmos DB-resource met behulp van Python.
Broncode bibliotheek | Pakket (NuGet) | Azure Developer CLI
Vereisten
- Azure Developer CLI
- Docker Desktop
- .NET SDK 9.0
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Het project initialiseren
Gebruik de Azure Developer CLI (azd) om een Azure Cosmos DB for Table-account te maken en een in een container geplaatste voorbeeldtoepassing te implementeren. De voorbeeldtoepassing maakt gebruik van de clientbibliotheek voor het beheren, maken, lezen en opvragen van voorbeeldgegevens.
Open een terminal in een lege map.
Als u nog niet bent geverifieerd, moet u zich verifiëren bij de Azure Developer CLI met behulp van
azd auth login. Volg de stappen die door het hulpprogramma zijn opgegeven om te verifiëren bij de CLI met behulp van uw favoriete Azure-referenties.azd auth loginGebruik
azd initdit om het project te initialiseren.azd init --template cosmos-db-mongodb-dotnet-quickstartConfigureer tijdens de initialisatie een unieke omgevingsnaam.
Implementeer het Azure Cosmos DB-account met behulp van
azd up. De Bicep-sjablonen implementeren ook een voorbeeldwebtoepassing.azd upSelecteer tijdens het inrichtingsproces uw abonnement, gewenste locatie en doelresourcegroep. Wacht tot het inrichtingsproces is voltooid. Het proces kan ongeveer vijf minuten duren.
Zodra het inrichten van uw Azure-resources is voltooid, wordt er een URL naar de actieve webtoepassing opgenomen in de uitvoer.
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.Gebruik de URL in de console om naar uw webtoepassing in de browser te navigeren. Bekijk de uitvoer van de actieve app.
De clientbibliotheek installeren
De clientbibliotheek is beschikbaar via NuGet, als pakket MongoDB.Driver .
Open een terminal en navigeer naar de
/src/webmap.cd ./src/webAls dit nog niet is geïnstalleerd, installeert u het
MongoDB.Driverpakket met behulp vandotnet add package.dotnet add package MongoDB.DriverOpen het bestand src/web/Microsoft.Samples.Cosmos.MongoDB.Quickstart.Web.csproj om te controleren of de
MongoDB.Driververmelding bestaat.
Bibliotheken importeren
Importeer de MongoDB.Driver naamruimte in uw toepassingscode.
using MongoDB.Driver;
Objectmodel
| Name | Beschrijving |
|---|---|
MongoClient |
Type dat wordt gebruikt om verbinding te maken met MongoDB. |
Database |
Vertegenwoordigt een database in het account. |
Collection |
Vertegenwoordigt een verzameling in een database in het account. |
Codevoorbeelden
- De client verifiëren
- Een database ophalen
- Een verzameling verkrijgen
- Een document maken
- Een document ophalen
- Documenten bevragen
De voorbeeldcode in de sjabloon maakt gebruik van een database met de naam cosmicworks en verzameling.products De products verzameling bevat details zoals naam, categorie, hoeveelheid en een unieke id voor elk product. De verzameling gebruikt de /category eigenschap als een shardsleutel.
De client verifiëren
In dit voorbeeld wordt een nieuw exemplaar van de MongoClient klasse gemaakt.
string connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";
MongoClient client = new(connectionString);
Een database ophalen
In dit voorbeeld wordt een exemplaar van de IMongoDatabase interface gemaakt met behulp van de GetDatabase methode van de MongoClient klasse.
IMongoDatabase database = client.GetDatabase("<database-name>");
Een verzameling ophalen
In dit voorbeeld wordt een exemplaar van de algemene IMongoCollection<> interface gemaakt met behulp van de GetCollection<> algemene methode van de IMongoDatabase interface. De algemene interface en methode maken beide gebruik van een type dat Product is gedefinieerd in een andere klasse.
IMongoCollection<Product> collection = database.GetCollection<Product>("<collection-name>");
public record Product(
string id,
string category,
string name,
int quantity,
decimal price,
bool clearance
);
Een document maken
Maak een document in de verzameling met collection.ReplaceOneAsync<> en gebruik de generieke typeparameter Product. Met deze methode wordt het item bijgewerkt of toegevoegd, waarbij het effectief wordt vervangen als het al bestaat.
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 }
);
Een document lezen
Voer een puntleesbewerking uit met behulp van zowel de unieke identificator (id) als de shard-sleutelvelden. Gebruik collection.FindAsync<> met de generieke Product typeparameter om het specifieke item efficiënt op te halen.
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();
Query's uitvoeren voor documenten
Voer een query uit op meerdere items in een container met behulp van collection.AsQueryable() en LINQ (Language Integrated Query). Met deze query worden alle items in een opgegeven categorie (shardsleutel) gevonden.
IQueryable<Product> documents = collection.AsQueryable().Where(
d => d.category == "gear-surf-surfboards"
);
foreach (Product document in await documents.ToListAsync())
{
// Do something with each item
}
Uw gegevens verkennen
Gebruik de Visual Studio Code-extensie voor Azure Cosmos DB om uw MongoDB-gegevens te verkennen. U kunt kerndatabasebewerkingen uitvoeren, waaronder, maar niet beperkt tot:
- Query's uitvoeren met behulp van een scrapbook of de query-editor
- Documenten wijzigen, bijwerken, maken en verwijderen
- Bulkgegevens importeren uit andere bronnen
- Databases en verzamelingen beheren
Zie De Visual Studio Code-extensie gebruiken om Azure Cosmos DB voor MongoDB-gegevens te verkennen voor meer informatie.
Resources opschonen
Wanneer u de voorbeeldtoepassing of resources niet meer nodig hebt, verwijdert u de bijbehorende implementatie en alle resources.
azd down --force --purge