Hinzufügen von Azure Cosmos DB zu Ihrer App mithilfe von Visual Studio Connected Services
Mit Visual Studio können Sie eine der folgenden Verbindungen mit Azure Cosmos DB herstellen, indem Sie das Feature Connected Services verwenden:
- .NET Framework-Konsolen-App
- ASP.NET Model View Controller (MVC) (.NET Framework)
- ASP.NET Core
- .NET Core (einschließlich Konsolen-App, WPF, Windows Forms, Klassenbibliothek)
- .NET Core-Worker
- Azure-Funktionen
- Universelle Windows-Plattform-App
- Xamarin
- Cordova
Die funktion des verbundenen Diensts fügt dem Projekt alle erforderlichen Verweise und Verbindungscode hinzu und ändert die Konfigurationsdateien entsprechend.
Voraussetzungen
- Visual Studio mit installierter Azure-Workload.
- Ein Projekt eines der unterstützten Typen
- Ein Azure-Konto. Wenn Sie nicht über ein Azure-Konto verfügen, aktivieren Sie Ihre Azure-Vorteile für Visual Studio-Abonnenten oder um sich für eine kostenlose Testversion anzumelden.
Verbindung zu Azure Cosmos DB über verbundene Dienste herstellen
Öffnen Sie Ihr Projekt in Visual Studio.
Klicken Sie im Lösungs-Explorermit der rechten Maustaste auf den Knoten Verbundene Dienste, und wählen Sie im Kontextmenü Verbundenen Dienst hinzufügenaus.
Wenn der Knoten Verbundene Dienste nicht angezeigt wird, wählen Sie Projekt>Verbundene Dienste>Hinzufügen aus.
Wählen Sie auf der Registerkarte Verbundene Dienste das Symbol +für Dienstabhängigkeitenaus.
Wählen Sie auf der Seite Abhängigkeit hinzufügen die Option Azure Cosmos DB aus.
Wenn Sie noch nicht angemeldet sind, melden Sie sich bei Ihrem Azure-Konto an. Wenn Sie nicht über ein Azure-Konto verfügen, können Sie sich für eine kostenlose Testversionregistrieren.
Wählen Sie auf dem Bildschirm Azure Cosmos DB eine vorhandene Azure Cosmos DB-Instanz und dann Weiter aus.
Wenn Sie eine Datenbank erstellen müssen, fahren Sie mit dem nächsten Schritt fort. Fahren Sie andernfalls fort mit Schritt 7.
So erstellen Sie eine Azure Cosmos DB:
Wählen Sie unten auf dem Bildschirm Neue Azure Cosmos DB-Instanz erstellen aus.
Füllen Sie den Bildschirm Azure Cosmos DB: Neu erstellen aus, und wählen Sie Erstellen aus.
Wenn das Dialogfeld Azure Cosmos DB konfigurieren angezeigt wird, wird die neue Datenbank in der Liste angezeigt. Wählen Sie die neue Datenbank in der Liste aus, und wählen Sie Weiteraus.
Geben Sie einen Verbindungszeichenfolgennamen ein, und wählen Sie aus, ob die Verbindungszeichenfolge in einer lokalen geheimen Datei oder in Azure Key Vaultgespeichert werden soll.
Die Zusammenfassung der Änderungen Bildschirm zeigt alle Änderungen an, die an Ihrem Projekt vorgenommen werden, wenn Sie den Vorgang abgeschlossen haben. Wenn die Änderungen korrekt sind, wählen Sie Fertig stellen aus.
Die Verbindung wird unter dem Abschnitt Dienstabhängigkeiten der Registerkarte Verbundene Dienste angezeigt.
Anmerkung
Bei .NET Framework-Projekten unterscheidet sich die Benutzeroberfläche für verbundene Dienste geringfügig. Um die Unterschiede zu sehen, vergleichen Sie die Visual Studio 2019-Version dieser Seite.
Öffnen Sie Ihr Projekt in Visual Studio.
Klicken Sie im Projektmappen-Explorermit der rechten Maustaste auf den Knoten Verbundene Dienste, und wählen Sie im Kontextmenü Hinzufügen aus, um das Menü der verfügbaren Dienste zu öffnen.
Wenn der Knoten Verbundene Dienste nicht angezeigt wird, wählen Sie Projekt>Verbundene Dienste>Hinzufügen aus.
Wählen Sie Azure Cosmos DBaus. Die Seite Mit Abhängigkeit verbinden wird angezeigt. Es sollten zwei Optionen angezeigt werden, eine für einen lokalen Emulator, Azure Cosmos DB Emulator auf Container (lokal)und eine für die Verbindung mit dem Live-Azure Cosmos DB-Dienst. Sie können Kosten reduzieren und die frühe Entwicklung vereinfachen, indem Sie mit dem lokalen Emulator beginnen. Sie können später zum Livedienst migrieren, indem Sie diese Schritte wiederholen und die andere Option auswählen.
Wenn Sie den Azure Cosmos DB-Emulator verwenden möchten, klicken Sie auf Weiter, um die Zusammenfassung der Änderungen Bildschirm anzuzeigen, die zeigt, wie Ihr Projekt geändert wird. Ihrem Projekt wird ein NuGet-Paketverweis hinzugefügt, und dem Projekt wird der Verbindungscode für den lokalen Emulator hinzugefügt. Nachdem Sie auf dem letzten Bildschirm auf Fertig stellen geklickt haben, wird der Container für den Emulator erstellt; Der Downloadstatus des Bilds wird im Ausgabefenster angezeigt.
Wenn Sie eine Verbindung mit dem Azure-Dienst herstellen möchten, fahren Sie mit dem nächsten Schritt fort, oder wenn Sie noch nicht angemeldet sind, melden Sie sich bei Ihrem Azure-Konto an, bevor Sie fortfahren. Wenn Sie nicht über ein Azure-Konto verfügen, können Sie sich für eine kostenlose Testversionregistrieren.
Wählen Sie auf dem Bildschirm Azure Cosmos DB eine vorhandene Azure Cosmos DB-Instanz und dann Weiter aus.
Wenn Sie eine Datenbank erstellen müssen, fahren Sie mit dem nächsten Schritt fort. Fahren Sie andernfalls mit Schritt 7 fort.
So erstellen Sie eine Azure Cosmos DB:
Wählen Sie unten auf dem Bildschirm Neue Azure Cosmos DB-Instanz erstellen aus.
Füllen Sie den Bildschirm Azure Cosmos DB: Neu erstellen aus, und wählen Sie Erstellen aus.
Wenn das Dialogfeld Azure Cosmos DB konfigurieren angezeigt wird, wird die neue Datenbank in der Liste angezeigt. Wählen Sie die neue Datenbank in der Liste aus, und wählen Sie Weiteraus.
Geben Sie einen Verbindungszeichenfolgennamen ein, und wählen Sie aus, ob die Verbindungszeichenfolge in einer lokalen geheimen Datei oder in Azure Key Vaultgespeichert werden soll.
Die Verbindungszeichenfolge wird als geheimer Schlüssel hinzugefügt und in der App-Konfiguration verfügbar gemacht. In ASP.NET Core-Apps können Sie mithilfe der
Configuration
-Eigenschaft desWebApplicationBuild
-Objekts auf diese Verbindungszeichenfolge zugreifen.Die Zusammenfassung der Änderungen Bildschirm zeigt alle Änderungen an, die an Ihrem Projekt vorgenommen werden, wenn Sie den Vorgang abgeschlossen haben. Wenn die Änderungen korrekt sind, wählen Sie Fertig stellen aus.
Doppelklicken Sie im Projektmappen-Explorer auf den Knoten Verbundene Dienste, um die Registerkarte Connected Services zu öffnen. Die Verbindung wird unter dem Abschnitt Dienstabhängigkeiten angezeigt:
Wenn Sie neben der hinzugefügten Abhängigkeit auf die drei Punkte klicken, werden verschiedene Optionen wie Connect angezeigt, um den Assistenten erneut zu öffnen und die Verbindung zu ändern. Sie können auch oben rechts im Fenster auf die drei Punkte klicken, um Optionen anzuzeigen, um lokale Abhängigkeiten zu starten, Einstellungen zu ändern und vieles mehr.
Standardmäßig ist der Speichergrenzwert im Container auf 2G festgelegt, normalerweise ist jedoch mehr Arbeitsspeicher erforderlich, um Azure Cosmos DB auszuführen. Um dies zu beheben, navigieren Sie zu dem Ordner
.vs/sd/<GUID>/local
unter Ihrem Lösungsordner. In Windows Explorer müssen Sie möglicherweise ausgeblendete Dateien aktivieren, um den ordner.vs
anzuzeigen. Suchen und öffnen Sie die Datei cosmosdb1.docker-compose.yml. Legen Sie einen Speichergrenzwert von 4G oder höher fest.mem_limit = 4G
Um den Container mit der neuen Einstellung neu zu starten, klicken Sie im Abschnitt Dienstabhängigkeiten der Registerkarte Verbundene Dienste auf die drei Punkte, und wählen Sie lokalen Abhängigkeiten startenaus.
Anmerkung
Der lokale Emulator für Azure Cosmos DB kann auf ein Basisimage verweisen, das eine temporäre Lizenz für Azure Cosmos DB verwendet. Wenn der Container nicht gestartet wird, überprüfen Sie die Registerkarte Protokolle im Fenster Container* für den Azure Cosmos DB-Container. Wenn ein PAL-Ablaufproblem erwähnt wird, müssen Sie das aktuelle Basisimage für den lokalen Container abrufen. Führen Sie den folgenden Befehl in der Konsoleneingabeaufforderung aus: docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
. Die Lizenz wird regelmäßig aktualisiert, und wenn sie abläuft, sollte die Aktualisierung auf den neuesten Container das Problem lösen. Sie können Probleme für den Azure Cosmos DB-Emulator im Azure Cosmos DB Emulator GitHub Repoanzeigen und melden.
Nächste Schritte
Erfahren Sie, wie Sie Geheimnisse sicher speichern, durch Befolgen von Sichere Speicherung von Anwendungsgeheimnissen in der Entwicklung mit ASP.NET Core. Um insbesondere die Verbindungszeichenfolge aus dem Geheimnisspeicher zu lesen, können Sie, wie in Lesen des Geheimnisses über die Konfigurations-API beschrieben, Code hinzufügen. Der Code sieht möglicherweise wie folgt aus, wobei builder
eine Instanz von WebApplicationBuild
ist, die in Program.cs in ASP.NET Core-Projektvorlagen angezeigt wird:
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
connectionString: builder.Configuration["CosmosDBConnectionString"]
);
Die CosmosClient
ermöglicht den Zugriff auf die Azure Cosmos DB-Funktionalität über die verschiedenen Methoden. Sobald Sie über eine Instanz von CosmosClient
verfügen, können Sie eine NoSQL-Datenbank mithilfe dieses Leitfadens erstellen: Erstellen einer Datenbank in Azure Cosmos DB für NoSQL mithilfe von .NET.