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ć dowolny z poniższych elementów z bazą danych Azure Cosmos DB przy użyciu funkcji usług połączonych :
- Aplikacja konsolowa .NET Framework
- Model ASP.NET –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 platformy uniwersalnej 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.
Warunki wstępne
- Program Visual Studio z zainstalowanym obciążeniem platformy Azure.
- Projekt jednego z obsługiwanych typów
- Konto platformy Azure. Jeśli nie masz konta platformy Azure, aktywuj korzyści Azure dla subskrybentów programu Visual Studio lub zarejestruj się na bezpłatną wersję próbną.
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 Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł Usługi połączone, a następnie z menu kontekstowego wybierz pozycję Dodaj połączoną usługę.
Jeśli nie widzisz węzła Connected Services, wybierz Projekt>Connected Services>Dodaj.
Na karcie Usług Połączonych wybierz ikonę + dla Zależności Usługi.
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 Azure, możesz zarejestrować się na bezpłatną wersję próbną.
Na ekranie Azure Cosmos DB wybierz istniejącą usługę Azure Cosmos DB i 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:
W dolnej części ekranu wybierz pozycję Utwórz nową bazę danych Azure Cosmos DB.
Wypełnij ekran Azure Cosmos DB: Utwórz nowy i wybierz pozycję Utwórz.
Po wyświetleniu okna dialogowego konfigurowania 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ę parametrów połączenia i wybierz, czy mają być przechowywane parametry połączenia w lokalnym pliku wpisów tajnych, czy w azure Key Vault.
Na ekranie Podsumowanie zmian są wyświetlane wszystkie modyfikacje wprowadzone w projekcie w przypadku ukończenia procesu. Jeśli zmiany wyglądają OK, wybierz Zakończ.
Połączenie jest wyświetlane w sekcji Zależności Usługi na karcie Usługi Połączone .
Notatka
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ług połączonych, a następnie z menu kontekstowego wybierz pozycję Dodaj, aby otworzyć menu dostępnych usług.
Jeśli nie widzisz węzła usług połączonych, wybierz pozycję project>Connected Services>Dodaj.
Wybierz Azure Cosmos DB. Zostanie wyświetlona strona Połączenie z zależnością. Powinny zostać wyświetlone dwie opcje: jeden dla emulatora lokalnego, emulator usługi Azure Cosmos DB w kontenerze (lokalnym)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, jak projekt jest modyfikowany. Odwołanie do pakietu NuGet jest dodawane do projektu, a kod połączenia dla lokalnego emulatora jest dodawany do projektu. Po kliknięciu 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 Azure, możesz zarejestrować się na bezpłatną wersję próbną .
Na ekranie usługi Azure Cosmos DB wybierz istniejącą usługę Azure Cosmos DB i 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 Utwórz nową Azure Cosmos DB w dolnej części ekranu.
Wypełnij pola na ekranie Azure Cosmos DB: Utwórz nowy, a następnie wybierz pozycję Utwórz.
Po wyświetleniu okna dialogowego konfigurowania 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ę parametrów połączenia i wybierz, czy mają być przechowywane parametry połączenia w lokalnym pliku wpisów tajnych, czy w azure Key Vault.
Parametry połączenia są dodawane jako wpis tajny i udostępniane w konfiguracji aplikacji. W aplikacjach ASP.NET Core można uzyskać dostęp do tych parametrów połączenia przy użyciu właściwości
Configuration
w obiekcieWebApplicationBuild
.Na ekranie Podsumowanie zmian są wyświetlane wszystkie modyfikacje wprowadzone w projekcie w przypadku ukończenia procesu. Jeśli zmiany wyglądają w porządku, wybierz Zakończ.
W Eksploratorze 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 na trzy kropki obok dodanej zależności, zobaczysz różne opcje, takie jak Connect, 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 folderu
.vs/sd/<GUID>/local
w folderze rozwiązania. W Eksploratorze Windows może być konieczne włączenie ukrytych plików w celu wyświetlenia folderu.vs
. 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 usług połączonych kliknij trzy kropki i wybierz Uruchom zależności lokalne.
Notatka
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 Azure Cosmos DB. Jeśli pojawi się problem z wygaśnięciem PAL, musisz pobrać najnowszy obraz bazowy dla lokalnego kontenera. 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świetlić i zgłosić w repozytorium GitHub emulatora usługi Azure Cosmos DB .
Następne kroki
Dowiedz się, jak bezpiecznie przechowywać tajne dane, korzystając z Bezpiecznego przechowywania tajnych danych aplikacji w trakcie tworzenia aplikacji przy użyciu ASP.NET Core. W szczególności, aby odczytać parametry połączenia z magazynu wpisów tajnych, można dodać kod, tak jak w Odczyt wpisu tajnego za pośrednictwem interfejsu API konfiguracji. Kod może wyglądać następująco, gdzie builder
jest wystąpieniem WebApplicationBuild
wyświetlanym 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"]
);
CosmosClient
zapewnia dostęp do funkcji usługi Azure Cosmos DB za pomocą różnych metod. Po utworzeniu wystąpienia CosmosClient
możesz utworzyć bazę danych NoSQL, wykonując czynności opisane w tym przewodniku: Tworzenie bazy danych w Azure Cosmos DB dla NoSQL za pomocą .NET.
Powiązana zawartość
- strona produktu Azure Cosmos DB
- dokumentacja Azure Cosmos DB
- iniekcja zależności w Core ASP.NET Core