Упражнение. Создание ресурсов с помощью пакета SDK для Microsoft .NET версии 3

Завершено

В этом упражнении вы создадите консольное приложение для выполнения следующих операций в Azure Cosmos DB:

  • Подключение к учетной записи Azure Cosmos DB
  • Создание базы данных
  • Создание контейнера

Необходимые компоненты

Установка

Выполните следующие действия, чтобы подготовить Azure и локальную среду для выполнения этого упражнения.

Подключение к Azure

  1. Запустите Visual Studio Code и откройте окно терминала, выбрав пункт Терминал в верхней панели приложения, а затем нажав Новый терминал.

  2. Войдите в Azure, выполнив такую команду: Откроется окно браузера, позволяющее выбрать учетную запись для входа.

    az login
    

Создание ресурсов в Azure

  1. Создайте группу ресурсов для ресурсов, необходимых для выполнения этого упражнения. Замените <myLocation> на ближайший к вам регион.

    az group create --location <myLocation> --name az204-cosmos-rg
    
  2. Создайте учетную запись Azure Cosmos DB. Замените <myCosmosDBacct> уникальным именем для идентификации учетной записи Azure Cosmos DB. Имя может содержать только строчные буквы, цифры и знак дефиса (-). Длина — от 3 до 31 знака. Эта команда занимает несколько минут.

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

    Запишите показанный documentEndpoint в ответе JSON для последующего использования в упражнении.

  3. Получите первичный ключ для учетной записи с помощью следующей команды. primaryMasterKey Запишите результаты команды для использования в коде.

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

Настройка консольного приложения

Теперь, когда необходимые ресурсы развернуты в Azure, необходимо настроить консольное приложение в том же окне терминала в Visual Studio Code.

  1. Создайте папку для проекта и перейдите в нее.

    md az204-cosmos
    cd az204-cosmos
    
  2. Создайте консольное приложение .NET.

    dotnet new console
    
  3. Откройте текущую папку в Visual Studio Code с помощью следующей команды. Параметр -r открывает папку без запуска нового окна Visual Studio Code.

    code . -r
    
  4. Щелкните файл Program.cs на панели обозревателя, чтобы открыть его в редакторе.

Сборка консольного приложения

Пора приступить к добавлению пакетов и кода в проект.

Добавление пакетов и инструкций using

  1. Откройте терминал в Visual Studio Code и выполните следующую команду, чтобы добавить Microsoft.Azure.Cosmos пакет в проект.

    dotnet add package Microsoft.Azure.Cosmos
    
  2. Удалите любой существующий код в файле Program.cs и добавьте инструкцию using Microsoft.Azure.Cosmos.

    using Microsoft.Azure.Cosmos;
    

Добавление кода для подключения к учетной записи Azure Cosmos DB

  1. Добавьте следующий фрагмент кода после инструкции using . Этот код добавляет константы и переменные в класс, а также некоторую проверку на наличие ошибок. Обязательно замените значения заполнителей EndpointUri и PrimaryKey, следуя инструкциям в комментариях к коду.

    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 добавьте новую асинхронную задачу CosmosAsync, которая создает экземпляр нового CosmosClient и добавляет код для вызова методов, добавленных позже для создания базы данных и контейнера.

    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();
    }
    

Создание базы данных

Скопируйте и вставьте метод CreateDatabaseAsync под методом CosmosAsync. Метод CreateDatabaseAsync создает новую базу данных с идентификатором az204Database, если она еще не существует.

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);
}

Создание контейнера

Скопируйте и вставьте метод CreateContainerAsync под методом CreateDatabaseAsync.

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);
}

Выполнение приложения

  1. Сохраните работу и в терминале в Visual Studio Code проверьте наличие ошибок, выполнив dotnet build команду. Выполните команду, если сборка dotnet run выполнена успешно. В консоли отображаются следующие сообщения.

    Beginning operations...
    
    Created Database: az204Database
    
    Created Container: az204Container
    
    End of program, press any key to exit.
    
  2. Результат можно проверить на портале Azure, перейдя к ресурсу Azure Cosmos DB и используя обозреватель данных для просмотра базы данных и контейнера.

Очистка ресурсов Azure

Теперь вы можете безопасно удалить группу ресурсов az204-cosmos-rg из учетной записи, выполнив следующую команду.

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