Udostępnij za pośrednictwem


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

Nawiązywanie połączenia z usługą Azure Cosmos DB przy użyciu połączonych usług

  1. Otwórz projekt w programie Visual Studio.

  2. 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.

  3. Na karcie Usług Połączonych wybierz ikonę + dla Zależności Usługi.

    Zrzut ekranu przedstawiający sposób dodawania zależności usługi.

  4. Na stronie Dodawanie zależności wybierz pozycję Azure Cosmos DB.

    Zrzut ekranu przedstawiający ekran

    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ą.

  5. 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.

    Zrzut ekranu przedstawiający sposób dodawania istniejącej usługi Azure Cosmos DB do projektu.

  6. Aby utworzyć usługę Azure Cosmos DB:

    1. W dolnej części ekranu wybierz pozycję Utwórz nową bazę danych Azure Cosmos DB.

    2. Wypełnij ekran Azure Cosmos DB: Utwórz nowy i wybierz pozycję Utwórz.

      zrzut ekranu przedstawiający ekran

    3. 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.

  7. 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.

    zrzut ekranu przedstawiający ekran

  8. 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.

    zrzut ekranu przedstawiający ekran

  9. Połączenie jest wyświetlane w sekcji Zależności Usługi na karcie Usługi Połączone .

    zrzut ekranu przedstawiający sekcję

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.

  1. Otwórz projekt w programie Visual Studio.

  2. 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.

    Zrzut ekranu przedstawiający opcje menu kontekstowego usług połączonych.

    Jeśli nie widzisz węzła usług połączonych, wybierz pozycję project>Connected Services>Dodaj.

  3. 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ę.

    Zrzut ekranu przedstawiający opcje usługi Azure Cosmos DB.

    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ą .

  4. 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.

    zrzut ekranu przedstawiający ekran

  5. Aby utworzyć usługę Azure Cosmos DB:

    1. Wybierz Utwórz nową Azure Cosmos DB w dolnej części ekranu.

    2. Wypełnij pola na ekranie Azure Cosmos DB: Utwórz nowy, a następnie wybierz pozycję Utwórz.

      Zrzut ekranu przedstawiający ekran

    3. 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.

  6. 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.

    zrzut ekranu przedstawiający ekran

    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 obiekcie WebApplicationBuild.

  7. 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.

    zrzut ekranu przedstawiający ekran

  8. 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:

    Zrzut ekranu przedstawiający

    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.

  9. 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 CosmosClientmoż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.