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

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

  3. Na karcie Usługi połączone wybierz ikonę + dla pozycji Zależności usług.

    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 platformy Azure, możesz skorzystać z bezpłatnej wersji próbnej.

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

    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. Wybierz pozycję Utwórz nową usługę Azure Cosmos DB w dolnej części ekranu.

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

      Zrzut ekranu przedstawiający ekran

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

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

    Zrzut ekranu przedstawiający ekran

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

    Zrzut ekranu przedstawiający ekran

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

    Zrzut ekranu przedstawiający sekcję

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.

  1. Otwórz projekt w programie Visual Studio.

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

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

    Jeśli nie widzisz węzła Usługi połączone, wybierz pozycję Project Connected Services Add (Dodaj połączone usługi>projektu).>

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

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

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

    Zrzut ekranu przedstawiający ekran

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

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

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

      Zrzut ekranu przedstawiający ekran

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

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

    Zrzut ekranu przedstawiający ekran

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

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

    Zrzut ekranu przedstawiający ekran

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

    Zrzut ekranu przedstawiający komunikat

    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.

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