Dodawanie usługi Azure Cosmos DB do aplikacji przy użyciu usług połączonych programu Visual Studio
Za pomocą programu Visual Studio możesz połączyć dowolną z następujących metod z usługą Azure Cosmos DB przy użyciu funkcji Połączonych usług :
- Aplikacja konsolowa .NET Framework
- ASP.NET Model-View-Controller (MVC) (.NET Framework)
- ASP.NET Core
- .NET Core (w tym aplikacja konsolowa, WPF, Windows Forms, biblioteka klas)
- Rola procesu roboczego platformy .NET Core
- Azure Functions
- aplikacja platforma uniwersalna systemu Windows
- Xamarin
- Cordova
Funkcja połączonej usługi dodaje wszystkie wymagane odwołania i kod połączenia do projektu oraz odpowiednio modyfikuje pliki konfiguracji.
Uwaga
Ten temat dotyczy programu Visual Studio w systemie Windows. Aby uzyskać Visual Studio dla komputerów Mac, zobacz Połączone usługi w Visual Studio dla komputerów Mac.
Wymagania wstępne
- Program Visual Studio z zainstalowanym obciążeniem platformy Azure.
- Projekt jednego z obsługiwanych typów
- Konto Azure. Jeśli nie masz konta platformy Azure, aktywuj korzyści platformy Azure dla subskrybentów programu Visual Studio lub zarejestruj się w celu uzyskania bezpłatnej wersji próbnej.
Nawiązywanie połączenia z usługą Azure Cosmos DB przy użyciu połączonych usług
Otwórz projekt w programie Visual Studio.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł Usługi połączone, a następnie z menu kontekstowego wybierz polecenie Dodaj połączoną usługę.
Jeśli nie widzisz węzła Usługi połączone, wybierz pozycję Project Connected Services Add (Dodaj połączone usługi>projektu).>
Na karcie Usługi połączone wybierz ikonę + dla pozycji Zależności usług.
Na stronie Dodawanie zależności wybierz pozycję Azure Cosmos DB.
Jeśli jeszcze nie zalogowałeś się, zaloguj się do swojego konta platformy Azure. Jeśli nie masz konta platformy Azure, możesz skorzystać z bezpłatnej wersji próbnej.
Na ekranie usługi Azure Cosmos DB wybierz istniejącą usługę Azure Cosmos DB, a następnie wybierz pozycję Dalej.
Jeśli musisz utworzyć bazę danych, przejdź do następnego kroku. W przeciwnym razie przejdź do kroku 7.
Aby utworzyć usługę Azure Cosmos DB:
Wybierz pozycję Utwórz nową usługę Azure Cosmos DB w dolnej części ekranu.
Wypełnij pole Azure Cosmos DB: Utwórz nowy ekran i wybierz pozycję Utwórz.
Po wyświetleniu okna dialogowego Konfigurowanie usługi Azure Cosmos DB nowa baza danych zostanie wyświetlona na liście. Wybierz nową bazę danych z listy, a następnie wybierz pozycję Dalej.
Wprowadź nazwę parametry połączenia i wybierz, czy parametry połączenia przechowywany w lokalnym pliku wpisów tajnych, czy w usłudze Azure Key Vault.
Na ekranie Podsumowanie zmian zostaną wyświetlone wszystkie modyfikacje wprowadzone w projekcie w przypadku ukończenia procesu. Jeśli zmiany wyglądają ok, wybierz przycisk Zakończ.
Połączenie jest wyświetlane w sekcji Zależności usług na karcie Połączone usługi .
Uwaga
W przypadku projektów .NET Framework interfejs użytkownika połączonych usług jest nieco inny. Aby zobaczyć różnice, porównaj z wersją programu Visual Studio 2019 tej strony.
Otwórz projekt w programie Visual Studio.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł Usługi połączone, a następnie z menu kontekstowego wybierz polecenie Dodaj, aby otworzyć menu dostępnych usług.
Jeśli nie widzisz węzła Usługi połączone, wybierz pozycję Project Connected Services Add (Dodaj połączone usługi>projektu).>
Wybierz pozycję Azure Cosmos DB. Zostanie wyświetlona strona Łączenie z zależnością . Powinny zostać wyświetlone dwie opcje: jeden dla emulatora lokalnego, emulator usługi Azure Cosmos DB w kontenerze (lokalnie) i jeden na potrzeby nawiązywania połączenia z usługą Azure Cosmos DB na żywo. Możesz obniżyć koszty i uprościć wczesne programowanie, zaczynając od lokalnego emulatora. Możesz przeprowadzić migrację do usługi na żywo później, powtarzając te kroki i wybierając drugą opcję.
Jeśli zdecydujesz się użyć emulatora usługi Azure Cosmos DB, kliknij przycisk Dalej , aby wyświetlić ekran Podsumowanie zmian , który pokazuje sposób modyfikacji projektu. Odwołanie do pakietu NuGet jest dodawane do projektu, a kod połączenia dla lokalnego emulatora zostanie dodany do projektu. Po kliknięciu przycisku Zakończ na ostatnim ekranie zostanie utworzony kontener emulatora. Stan pobierania obrazu zostanie wyświetlony w oknie danych wyjściowych.
Jeśli chcesz nawiązać połączenie z usługą platformy Azure, przejdź do następnego kroku lub jeśli jeszcze nie zalogowałeś się, zaloguj się do swojego konta platformy Azure przed kontynuowaniem. Jeśli nie masz konta platformy Azure, możesz skorzystać z bezpłatnej wersji próbnej.
Na ekranie usługi Azure Cosmos DB wybierz istniejącą usługę Azure Cosmos DB, a następnie wybierz pozycję Dalej.
Jeśli musisz utworzyć bazę danych, przejdź do następnego kroku. W przeciwnym razie przejdź do kroku 7.
Aby utworzyć usługę Azure Cosmos DB:
Wybierz pozycję Utwórz nową usługę Azure Cosmos DB w dolnej części ekranu.
Wypełnij pole Azure Cosmos DB: Utwórz nowy ekran i wybierz pozycję Utwórz.
Po wyświetleniu okna dialogowego Konfigurowanie usługi Azure Cosmos DB nowa baza danych zostanie wyświetlona na liście. Wybierz nową bazę danych z listy, a następnie wybierz pozycję Dalej.
Wprowadź nazwę parametry połączenia i wybierz, czy parametry połączenia przechowywany w lokalnym pliku wpisów tajnych, czy w usłudze Azure Key Vault.
Parametry połączenia jest dodawany jako wpis tajny i udostępniany w konfiguracji aplikacji. W aplikacjach ASP.NET Core można uzyskać dostęp do tej parametry połączenia za pomocą
Configuration
właściwości wWebApplicationBuild
obiekcie .Na ekranie Podsumowanie zmian zostaną wyświetlone wszystkie modyfikacje wprowadzone w projekcie w przypadku ukończenia procesu. Jeśli zmiany wyglądają ok, wybierz przycisk Zakończ.
W Eksplorator rozwiązań kliknij dwukrotnie węzeł Usługi połączone, aby otworzyć kartę Usługi połączone. Połączenie zostanie wyświetlone w sekcji Zależności usługi:
Jeśli klikniesz trzy kropki obok dodanej zależności, zobaczysz różne opcje, takie jak Połącz , aby ponownie otworzyć kreatora i zmienić połączenie. Możesz również kliknąć trzy kropki w prawym górnym rogu okna, aby wyświetlić opcje uruchamiania zależności lokalnych, zmiany ustawień i nie tylko.
Domyślnie limit pamięci w kontenerze jest ustawiony na 2G, ale zwykle do uruchamiania usługi Azure Cosmos DB jest wymagana większa ilość pamięci. Aby rozwiązać ten problem, przejdź do
.vs/sd/<GUID>/local
folderu w folderze rozwiązania. W Eksploratorze Windows może być konieczne włączenie ukrytych plików w celu wyświetlenia.vs
folderu. Znajdź i otwórz plik cosmosdb1.docker-compose.yml. Ustaw limit pamięci 4G lub wyższy.mem_limit = 4G
Aby ponownie uruchomić kontener przy użyciu nowego ustawienia, w sekcji Zależności usługi na karcie Połączone usługi kliknij trzy kropki, a następnie wybierz pozycję Uruchom zależności lokalne.
Uwaga
Lokalny emulator usługi Azure Cosmos DB może odwoływać się do obrazu podstawowego korzystającego z tymczasowej licencji dla usługi Azure Cosmos DB. Jeśli kontener nie zostanie uruchomiony, sprawdź kartę Dzienniki w oknie Kontenery* dla kontenera usługi Azure Cosmos DB. Jeśli wystąpi problem z wygaśnięciem pal, musisz pobrać najnowszy obraz podstawowy dla kontenera lokalnego. Uruchom następujące polecenie w wierszu polecenia konsoli: docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
. Licencja jest okresowo aktualizowana, a po wygaśnięciu odświeżanie najnowszego kontenera powinno rozwiązać ten problem. Problemy z emulatorem usługi Azure Cosmos DB można wyświetlać i zgłaszać w repozytorium GitHub emulatora usługi Azure Cosmos DB.
Następne kroki
Dowiedz się, jak bezpiecznie przechowywać wpisy tajne, postępując zgodnie z bezpiecznym magazynem wpisów tajnych aplikacji podczas programowania w usłudze ASP.NET Core. W szczególności, aby odczytać parametry połączenia z magazynu wpisów tajnych, można dodać kod, jak w temacie Odczyt wpisu tajnego za pośrednictwem interfejsu API konfiguracji. Kod może wyglądać następująco, gdzie builder
jest wystąpieniemWebApplicationBuild
, które jest wyświetlane w Program.cs w szablonach projektów ASP.NET Core:
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
connectionString: builder.Configuration["CosmosDBConnectionString"]
);
Zapewnia CosmosClient
dostęp do funkcji usługi Azure Cosmos DB za pośrednictwem różnych metod. Po utworzeniu CosmosClient
wystąpienia programu możesz utworzyć bazę danych NoSQL, wykonując czynności opisane w tym przewodniku: Tworzenie bazy danych w usłudze Azure Cosmos DB dla noSQL przy użyciu platformy .NET.