Ćwiczenie: tworzenie zasobów przy użyciu zestawu Microsoft .NET SDK w wersji 3

Ukończone

W tym ćwiczeniu utworzysz aplikację konsolową, aby wykonać następujące operacje w usłudze Azure Cosmos DB:

  • Łączenie się z kontem usługi Azure Cosmos DB
  • Utwórz bazę danych
  • Tworzenie kontenera

Wymagania wstępne

Konfigurowanie

Wykonaj następujące akcje, aby przygotować platformę Azure i środowisko lokalne na potrzeby ćwiczenia.

Połączenie na platformę Azure

  1. Uruchom program Visual Studio Code i otwórz okno terminalu, wybierając pozycję Terminal na górnym pasku aplikacji, a następnie wybierając pozycję Nowy terminal.

  2. Zaloguj się do platformy Azure przy użyciu następującego polecenia. Powinno zostać otwarte okno przeglądarki umożliwiające wybranie konta do zalogowania się.

    az login
    

Tworzenie zasobów na platformie Azure

  1. Utwórz grupę zasobów dla zasobów wymaganych w tym ćwiczeniu. Zastąp <myLocation> element regionem blisko Ciebie.

    az group create --location <myLocation> --name az204-cosmos-rg
    
  2. Utwórz konto usługi Azure Cosmos DB. Zastąp <myCosmosDBacct> element unikatową nazwą, aby zidentyfikować konto usługi Azure Cosmos DB. Nazwa może zawierać tylko małe litery, cyfry i znaki łącznika (-). Musi mieć długość od 3 do 31 znaków. Wykonanie tego polecenia może potrwać kilka minut.

    az cosmosdb create --name <myCosmosDBacct> --resource-group az204-cosmos-rg
    

    Zarejestruj pokazaną documentEndpoint w odpowiedzi JSON użytą w dalszej części ćwiczenia.

  3. Pobierz klucz podstawowy dla konta przy użyciu następującego polecenia. Zapisz dane primaryMasterKey z wyników polecenia, które będą używane w kodzie.

    # Retrieve the primary key
    az cosmosdb keys list --name <myCosmosDBacct> --resource-group az204-cosmos-rg
    

Konfigurowanie aplikacji konsolowej

Teraz, gdy wymagane zasoby są wdrażane na platformie Azure, następnym krokiem jest skonfigurowanie aplikacji konsolowej przy użyciu tego samego okna terminalu w programie Visual Studio Code.

  1. Utwórz folder dla projektu i przejdź do folderu .

    md az204-cosmos
    cd az204-cosmos
    
  2. Utwórz aplikację konsolową platformy .NET.

    dotnet new console
    
  3. Otwórz bieżący folder w programie Visual Studio Code przy użyciu następującego polecenia. Opcja -r otwiera folder bez uruchamiania nowego okna programu Visual Studio Code.

    code . -r
    
  4. Wybierz plik Program.cs w okienku Eksplorator, aby otworzyć plik w edytorze.

Tworzenie aplikacji konsolowej

Nadszedł czas, aby rozpocząć dodawanie pakietów i kodu do projektu.

Dodawanie pakietów i używanie instrukcji

  1. Otwórz terminal w programie Visual Studio Code i użyj następującego polecenia, aby dodać Microsoft.Azure.Cosmos pakiet do projektu.

    dotnet add package Microsoft.Azure.Cosmos
    
  2. Usuń dowolny istniejący kod w Program.cs pliku i dodaj instrukcję using Microsoft.Azure.Cosmos .

    using Microsoft.Azure.Cosmos;
    

Dodawanie kodu w celu nawiązania połączenia z kontem usługi Azure Cosmos DB

  1. Dodaj następujący fragment kodu po instrukcji using . Fragment kodu dodaje stałe i zmienne do klasy i dodaje pewne sprawdzanie błędów. Pamiętaj, aby zastąpić wartości symboli zastępczych i EndpointUriPrimaryKey postępując zgodnie z instrukcjami w komentarzach kodu.

    public class Program
    {
        // Replace <documentEndpoint> with the information created earlier
        private static readonly string EndpointUri = "<documentEndpoint>";
    
        // Set variable to the Primary Key from earlier.
        private static readonly string PrimaryKey = "<your primary key>";
    
        // The Cosmos client instance
        private CosmosClient cosmosClient;
    
        // The database we will create
        private Database database;
    
        // The container we will create.
        private Container container;
    
        // The names of the database and container we will create
        private string databaseId = "az204Database";
        private string containerId = "az204Container";
    
        public static async Task Main(string[] args)
        {
            try
            {
                Console.WriteLine("Beginning operations...\n");
                Program p = new Program();
                await p.CosmosAsync();
    
            }
            catch (CosmosException de)
            {
                Exception baseException = de.GetBaseException();
                Console.WriteLine("{0} error occurred: {1}", de.StatusCode, de);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e);
            }
            finally
            {
                Console.WriteLine("End of program, press any key to exit.");
                Console.ReadKey();
            }
        }
        //The sample code below gets added below this line
    }
    
  2. Main Poniżej metody dodaj nowe zadanie asynchroniczne o nazwie CosmosAsync, które tworzy wystąpienie nowego i CosmosClient dodaje kod w celu wywołania metod dodanych później w celu utworzenia bazy danych i kontenera.

    public async Task CosmosAsync()
    {
        // Create a new instance of the Cosmos Client
        this.cosmosClient = new CosmosClient(EndpointUri, PrimaryKey);
    
        // Runs the CreateDatabaseAsync method
        await this.CreateDatabaseAsync();
    
        // Run the CreateContainerAsync method
        await this.CreateContainerAsync();
    }
    

Utwórz bazę danych

Skopiuj i wklej metodę CreateDatabaseAsync po metodzie CosmosAsync . CreateDatabaseAsync Tworzy nową bazę danych o identyfikatorze az204Database , jeśli jeszcze nie istnieje.

private async Task CreateDatabaseAsync()
{
    // Create a new database using the cosmosClient
    this.database = await this.cosmosClient.CreateDatabaseIfNotExistsAsync(databaseId);
    Console.WriteLine("Created Database: {0}\n", this.database.Id);
}

Tworzenie kontenera

Skopiuj i wklej metodę CreateContainerAsyncCreateDatabaseAsync poniżej metody .

private async Task CreateContainerAsync()
{
    // Create a new container
    this.container = await this.database.CreateContainerIfNotExistsAsync(containerId, "/LastName");
    Console.WriteLine("Created Container: {0}\n", this.container.Id);
}

Uruchamianie aplikacji

  1. Zapisz swoją pracę i w terminalu w programie Visual Studio Code uruchom dotnet build polecenie , aby sprawdzić błędy. Jeśli kompilacja zakończy się pomyślnie, dotnet run uruchom polecenie . W konsoli są wyświetlane następujące komunikaty.

    Beginning operations...
    
    Created Database: az204Database
    
    Created Container: az204Container
    
    End of program, press any key to exit.
    
  2. Sprawdź wyniki, otwierając witrynę Azure Portal, przechodząc do zasobu usługi Azure Cosmos DB i korzystając z Eksploratora danych, aby wyświetlić bazę danych i kontener.

Czyszczenie zasobów platformy Azure

Teraz możesz bezpiecznie usunąć grupę zasobów az204-cosmos-rg z konta, uruchamiając następujące polecenie.

az group delete --name az204-cosmos-rg --no-wait