Dodawanie usługi Azure Cosmos DB do aplikacji przy użyciu programu Visual Studio Połączenie ed Services

Za pomocą programu Visual Studio można połączyć dowolne z następujących elementów z usługą Azure Cosmos DB przy użyciu funkcji Połączenie ed Services:

  • 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 usługi Połączenie w Visual Studio dla komputerów Mac.

Wymagania wstępne

Połączenie do usługi Azure Cosmos DB przy użyciu usług Połączenie ed

  1. Otwórz projekt w programie Visual Studio.

  2. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł usługi Połączenie, a następnie z menu kontekstowego wybierz polecenie Dodaj usługę Połączenie ed.

  3. Na karcie usługi Połączenie wybierz ikonę + dla pozycji Zależności usługi.

    Screenshot showing how to add a service dependency.

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

    Screenshot showing

    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.

    Screenshot showing how to add an existing Azure Cosmos DB to project.

  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.

      Screenshot showing

    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.

    Screenshot showing

  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.

    Screenshot showing

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

    Screenshot showing

Uwaga

W przypadku projektów programu .NET Framework interfejs użytkownika usług Połączenie 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łączenie, a następnie z menu kontekstowego wybierz polecenie Dodaj, aby otworzyć menu dostępnych usług.

    Screenshot showing Connected Services context menu options.

  3. Wybierz pozycję Azure Cosmos DB. Zostanie wyświetlona strona Połączenie 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ę.

    Screenshot showing Azure Cosmos DB choices.

    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.

    Screenshot showing

  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.

      Screenshot showing

    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.

    Screenshot showing

    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.

    Screenshot showing

  8. W Eksplorator rozwiązań kliknij dwukrotnie węzeł usługi Połączenie, aby otworzyć kartę usługi Połączenie ed. Połączenie zostanie wyświetlone w sekcji Zależności usługi:

    Screenshot showing

    Jeśli klikniesz trzy kropki obok dodanej zależności, zobaczysz różne opcje, takie jak Połączenie, 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 usługi Połączenie ed Services 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 Sejf przechowywaniem 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.