Schnellstart: Erstellen einer .NET-Web-App mit der API für MongoDB von Azure Cosmos DBQuickstart: Build a .NET web app using Azure Cosmos DB's API for MongoDB

Azure Cosmos DB ist der global verteilte Microsoft-Datenbankdienst mit mehreren Modellen.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. Sie können schnell Dokument-, Schlüssel-Wert- und Graph-Datenbanken erstellen und abfragen und dabei stets die Vorteile der globalen Verteilung und der horizontalen Skalierung nutzen, die Cosmos DB zugrunde liegen.You can quickly create and query document, key/value and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Cosmos DB.

In diesem Schnellstart wird veranschaulicht, wie ein Cosmos-Konto mit der API für MongoDB von Azure Cosmos DB erstellt wird.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. Anschließend erstellen Sie eine Web-App für Aufgabenlisten mit dem MongoDB .NET-Treiber und stellen diese bereit.You'll then build and deploy a tasks list web app built using the MongoDB .NET driver.

Voraussetzungen für das Ausführen der Beispiel-AppPrerequisites to run the sample app

Zum Ausführen des Beispiels benötigen Sie Visual Studio und ein gültiges Azure Cosmos DB-Konto.To run the sample, you'll need Visual Studio and a valid Azure Cosmos DB account.

Falls Sie noch nicht über Visual Studio verfügen, laden Sie Visual Studio 2019 Community Edition mit der beim Setup installierten Workload ASP.NET und Webentwicklung herunter.If you don't already have Visual Studio, download Visual Studio 2019 Community Edition with the ASP.NET and web development workload installed with setup.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Erstellen eines DatenbankkontosCreate a database account

  1. Melden Sie sich in einem neuen Fenster beim Azure-Portal an.In a new window, sign in to the Azure portal.

  2. Wählen Sie im linken Menü Ressource erstellen > Datenbanken und anschließend unter Azure Cosmos DB die Option Erstellen aus.In the left menu, select Create a resource, select Databases, and then under Azure Cosmos DB, select Create.

    Screenshot des Azure-Portals mit Hervorhebung von „Weitere Dienste“ und „Azure Cosmos DB“

  3. Geben Sie auf der Seite Azure Cosmos DB-Konto erstellen die Einstellungen für das neue Azure Cosmos DB-Konto ein.In the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    EinstellungSetting valueValue BeschreibungDescription
    SubscriptionSubscription Ihr AbonnementYour subscription Wählen Sie das Azure-Abonnement aus, das Sie für dieses Azure Cosmos DB-Konto verwenden möchten.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    RessourcengruppeResource Group Neu erstellenCreate new

    Derselbe eindeutige Name wie für die IDThen enter the same unique name as provided in ID
    Wählen Sie Neu erstellen.Select Create new. Geben Sie dann einen neuen Ressourcengruppenname für Ihr Konto ein.Then enter a new resource-group name for your account. Verwenden Sie der Einfachheit halber denselben Namen wie bei Ihrer ID.For simplicity, use the same name as your ID.
    KontonameAccount Name Geben Sie einen eindeutigen Namen ein.Enter a unique name Geben Sie einen eindeutigen Namen ein, der Ihr Azure Cosmos DB-Konto identifiziert.Enter a unique name to identify your Azure Cosmos DB account. Da mongo.cosmos.azure.com an die ID angefügt wird, die Sie für die URI-Erstellung angeben, muss die ID eindeutig sein.Because mongo.cosmos.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    Die ID darf nur Kleinbuchstaben, Zahlen und den Bindestrich (-) enthalten.The ID can use only lowercase letters, numbers, and the hyphen (-) character. Sie muss zwischen 3 und 31 Zeichen lang sein.It must be between 3 and 31 characters in length.
    APIAPI Azure Cosmos DB-API für MongoDBAzure Cosmos DB's API for MongoDB Die API bestimmt den Typ des zu erstellenden Kontos.The API determines the type of account to create. Azure Cosmos DB stellt fünf APIs bereit: Kern-API (SQL) für Dokumentdatenbanken, Gremlin-API für Graphdatenbanken, API für MongoDB von Azure Cosmos DB für Dokumentdatenbanken, Azure Table und Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, Azure Cosmos DB's API MongoDB for document databases, Azure Table, and Cassandra. Derzeit müssen Sie ein separates Konto für jede API erstellen.Currently, you must create a separate account for each API.

    Wählen Sie MongoDB aus, da Sie mit dieser Schnellstartanleitung eine Sammlung erstellen, die mit MongoDB verwendet werden kann.Select MongoDB because in this quickstart you are creating a collection that works with MongoDB.
    LocationLocation Wählen Sie die Region aus, die Ihren Benutzern am nächsten liegt.Select the region closest to your users Wählen Sie einen geografischen Standort aus, an dem Ihr Azure Cosmos DB-Konto gehostet werden soll.Select a geographic location to host your Azure Cosmos DB account. Verwenden Sie einen Standort, der Ihren Benutzern am nächsten liegt, um ihnen einen schnellen Zugriff auf die Daten zu gewähren.Use the location that's closest to your users to give them the fastest access to the data.
    VersionVersion 3.63.6 Wählen Sie die Wire Protocol-Version 3.6 von MongoDB bzw. aus Gründen der Abwärtskompatibilität Version 3.2 aus.Select the MongoDB wire protocol version 3.6 or for backwards compatibility, select 3.2.

    Wählen Sie Bewerten + erstellen aus.Select Review+Create. Sie können die Abschnitte Netzwerk und Tags überspringen.You can skip the Network and Tags section.

    Die Seite „Neues Konto“ für Azure Cosmos DB

  4. Die Kontoerstellung dauert einige Minuten.The account creation takes a few minutes. Warten Sie, bis das Portal die Seite Herzlichen Glückwunsch! Ihr Cosmos-Konto mit Wire Protocol-Kompatibilität für MongoDB ist bereit anzeigt.Wait for the portal to display the Congratulations! Your Cosmos account with wire protocol compatibility for MongoDB is ready page.

    Der Bereich „Benachrichtigungen“ im Azure-Portal

Das in diesem Artikel beschriebene Beispiel ist mit MongoDB.Driver-Version 2.6.1 kompatibel.The sample described in this article is compatible with MongoDB.Driver version 2.6.1.

Klonen der Beispiel-AppClone the sample app

Laden Sie die Beispiel-App zunächst von GitHub herunter.First, download the sample app from GitHub.

  1. Öffnen Sie eine Eingabeaufforderung, erstellen Sie einen neuen Ordner namens „git-samples“, und schließen Sie die Eingabeaufforderung.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Öffnen Sie ein Git-Terminalfenster (z.B. git bash), und verwenden Sie den Befehl cd, um in den neuen Ordner zu gelangen und dort die Beispiel-App zu installieren.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Führen Sie den folgenden Befehl aus, um das Beispielrepository zu klonen.Run the following command to clone the sample repository. Dieser Befehl erstellt eine Kopie der Beispiel-App auf Ihrem Computer.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-dotnet-getting-started.git
    

Alternativ zur Verwendung von Git können Sie auch das Projekt als ZIP-Datei herunterladen.If you don't wish to use git, you can also download the project as a ZIP file.

Überprüfen des CodesReview the code

Dieser Schritt ist optional.This step is optional. Wenn Sie erfahren möchten, wie die Datenbankressourcen im Code erstellt werden, können Sie sich die folgenden Codeausschnitte ansehen.If you're interested in learning how the database resources are created in the code, you can review the following snippets. Andernfalls können Sie mit Aktualisieren der Verbindungszeichenfolge fortfahren.Otherwise, you can skip ahead to Update your connection string.

Die folgenden Codeausschnitte stammen alle aus der Datei „Dal.cs“ im Verzeichnis „DAL“.The following snippets are all taken from the Dal.cs file in the DAL directory.

  • Initialisieren Sie den Client.Initialize the client.

        MongoClientSettings settings = new MongoClientSettings();
        settings.Server = new MongoServerAddress(host, 10255);
        settings.UseSsl = true;
        settings.SslSettings = new SslSettings();
        settings.SslSettings.EnabledSslProtocols = SslProtocols.Tls12;
    
        MongoIdentity identity = new MongoInternalIdentity(dbName, userName);
        MongoIdentityEvidence evidence = new PasswordEvidence(password);
    
        settings.Credential = new MongoCredential("SCRAM-SHA-1", identity, evidence);
    
        MongoClient client = new MongoClient(settings);
    
  • Rufen Sie die Datenbank und die Sammlung ab.Retrieve the database and the collection.

    private string dbName = "Tasks";
    private string collectionName = "TasksList";
    
    var database = client.GetDatabase(dbName);
    var todoTaskCollection = database.GetCollection<MyTask>(collectionName);
    
  • Rufen Sie alle Dokumente ab.Retrieve all documents.

    collection.Find(new BsonDocument()).ToList();
    

Erstellen einer Aufgabe und Einfügen der Aufgabe in die SammlungCreate a task and insert it into the collection

 public void CreateTask(MyTask task)
 {
     var collection = GetTasksCollectionForEdit();
     try
     {
         collection.InsertOne(task);
     }
     catch (MongoCommandException ex)
     {
         string msg = ex.Message;
     }
 }

Ebenso können Sie Dokumente mit den Methoden collection.UpdateOne() und collection.DeleteOne() aktualisieren und löschen.Similarly, you can update and delete documents by using the collection.UpdateOne() and collection.DeleteOne() methods.

Aktualisieren der VerbindungszeichenfolgeUpdate your connection string

Wechseln Sie nun zurück zum Azure-Portal, um die Informationen der Verbindungszeichenfolge abzurufen und in die App zu kopieren.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. Klicken Sie im Azure-Portal in Ihrem Cosmos-Konto im linken Navigationsbereich auf Verbindungszeichenfolge, und klicken Sie anschließend auf Lese-/Schreibschlüssel.In the Azure portal, in your Cosmos account, in the left navigation click Connection String, and then click Read-write Keys. Kopieren Sie im nächsten Schritt mithilfe der Schaltflächen zum Kopieren auf der rechten Seite des Bildschirms den Benutzernamen, das Kennwort sowie den Host in die Datei „dal.cs“.You'll use the copy buttons on the right side of the screen to copy the Username, Password, and Host into the Dal.cs file in the next step.

  2. Öffnen Sie die Datei dal.cs im Verzeichnis DAL.Open the Dal.cs file in the DAL directory.

  3. Kopieren Sie den Wert des Benutzernamens aus dem Portal (mithilfe der Schaltfläche zum Kopieren), und legen Sie ihn in der Datei dal.cs als Wert des Benutzernamens fest.Copy your username value from the portal (using the copy button) and make it the value of the username in your Dal.cs file.

  4. Kopieren Sie anschließend den Wert des Hosts aus dem Portal, und legen Sie ihn in der Datei dal.cs als Wert des Hosts fest.Then copy your host value from the portal and make it the value of the host in your Dal.cs file.

  5. Kopieren Sie anschließend den Wert des Kennworts aus dem Portal, und legen Sie ihn in der Datei dal.cs als Wert des Kennworts fest.Finally copy your password value from the portal and make it the value of the password in your Dal.cs file.

Sie haben die App nun mit allen erforderlichen Informationen für die Kommunikation mit Cosmos DB aktualisiert.You've now updated your app with all the info it needs to communicate with Cosmos DB.

Ausführen der Web-AppRun the web app

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer, und klicken Sie anschließend auf NuGet-Pakete verwalten.In Visual Studio, right-click on the project in Solution Explorer and then click Manage NuGet Packages.

  2. Geben Sie im NuGet-Feld Durchsuchen den Suchbegriff MongoDB.Driver ein.In the NuGet Browse box, type MongoDB.Driver.

  3. Installieren Sie die Bibliothek MongoDB.Driver mithilfe der Ergebnisse.From the results, install the MongoDB.Driver library. Dadurch wird das Paket „MongoDB.Driver“ mit all seinen Abhängigkeiten installiert.This installs the MongoDB.Driver package as well as all dependencies.

  4. Drücken Sie STRG+F5, um die Anwendung auszuführen.Click CTRL + F5 to run the application. Ihre App wird im Browser angezeigt.Your app displays in your browser.

  5. Klicken Sie im Browser auf Erstellen, und erstellen Sie einige Aufgaben in Ihrer Aufgabenlisten-App.Click Create in the browser and create a few new tasks in your task list app.

Überprüfen von SLAs im Azure-PortalReview SLAs in the Azure portal

Im Azure-Portal werden Durchsatz, Speicher, Verfügbarkeit, Wartezeit und Konsistenz Ihres Cosmos DB-Kontos überwacht.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Diagramme für Metriken einer Azure Cosmos DB-SLA (Service Level Agreement, Vereinbarung zum Servicelevel) zeigen den SLA-Wert im Vergleich zur tatsächlichen Leistung.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Diese Sammlung von Metriken macht die Überwachung Ihrer SLAs transparent.This suite of metrics makes monitoring your SLAs transparent.

So überprüfen Sie Metriken und SLAs:To review metrics and SLAs:

  1. Wählen Sie im Navigationsmenü Ihres Cosmos DB-Kontos die Option Metrik aus.Select Metrics in your Cosmos DB account's navigation menu.

  2. Wählen Sie eine Registerkarte (etwa Wartezeit) und auf der rechten Seite einen Zeitraum aus.Select a tab such as Latency, and select a timeframe on the right. Vergleichen Sie Zeilen Tatsächlich und SLA in den Diagrammen.Compare the Actual and SLA lines on the charts.

    Azure Cosmos DB-Metriken

  3. Überprüfen Sie die Metriken auf den anderen Registerkarten.Review the metrics on the other tabs.

Bereinigen von RessourcenClean up resources

Wenn Sie Ihre Web-App und das Azure Cosmos DB-Konto fertiggestellt haben, können Sie die erstellten Azure-Ressourcen löschen, damit keine weiteren Gebühren anfallen.When you're done with your web app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. So löschen Sie die Ressourcen:To delete the resources:

  1. Wählen Sie ganz links im Azure-Portal Ressourcengruppen aus.In the Azure portal, select Resource groups on the far left. Wenn das linke Menü reduziert ist, wählen Sie die Schaltfläche Erweitern aus, um es zu erweitern.If the left menu is collapsed, select Expand button to expand it.

  2. Wählen Sie die Ressourcengruppe aus, die Sie für diesen Schnellstart erstellt haben.Select the resource group you created for this quickstart.

    Auswählen der zu löschenden Ressourcengruppe

  3. Wählen Sie im neuen Fenster Ressourcengruppe löschen aus.In the new window, select Delete resource group.

    Löschen der Ressourcengruppe

  4. Geben Sie in dem nächsten Fenster den Namen der zu löschenden Ressourcengruppe ein, und wählen Sie dann Löschen aus.In the next window, enter the name of the resource group to delete, and then select Delete.

Nächste SchritteNext steps

In dieser Schnellstartanleitung haben Sie gelernt, wie Sie ein Cosmos-Konto erstellen, eine Sammlung erstellen und eine Konsolen-App ausführen.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. Jetzt können Sie zusätzliche Daten in Ihre Cosmos-Datenbank importieren.You can now import additional data to your Cosmos database.