Упражнение. Создание ресурсов с помощью пакета SDK для Microsoft .NET версии 3
В этом упражнении вы создадите консольное приложение для выполнения следующих операций в Azure Cosmos DB:
- Подключение к учетной записи Azure Cosmos DB
- Создание базы данных
- Создание контейнера
Необходимые компоненты
Учетная запись Azure с активной подпиской. Если у вас еще нет подписки, зарегистрируйтесь для получения бесплатной пробной версии по адресу https://azure.com/free .
Visual Studio Code на одной из поддерживаемых платформ.
.NET 8 — это целевая платформа для упражнения.
Расширение C# для Visual Studio Code.
последняя версия инструментов Azure CLI, установленная локально;
Установка
Выполните следующие действия, чтобы подготовить Azure и локальную среду для выполнения этого упражнения.
Подключение к Azure
Запустите Visual Studio Code и откройте окно терминала, выбрав пункт Терминал в верхней панели приложения, а затем нажав Новый терминал.
Войдите в Azure, выполнив такую команду: Откроется окно браузера, позволяющее выбрать учетную запись для входа.
az login
Создание ресурсов в Azure
Создайте группу ресурсов для ресурсов, необходимых для выполнения этого упражнения. Замените
<myLocation>
на ближайший к вам регион.az group create --location <myLocation> --name az204-cosmos-rg
Создайте учетную запись Azure Cosmos DB. Замените
<myCosmosDBacct>
уникальным именем для идентификации учетной записи Azure Cosmos DB. Имя может содержать только строчные буквы, цифры и знак дефиса (-). Длина — от 3 до 31 знака. Эта команда занимает несколько минут.az cosmosdb create --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Запишите показанный
documentEndpoint
в ответе JSON для последующего использования в упражнении.Получите первичный ключ для учетной записи с помощью следующей команды.
primaryMasterKey
Запишите результаты команды для использования в коде.# Retrieve the primary key az cosmosdb keys list --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Настройка консольного приложения
Теперь, когда необходимые ресурсы развернуты в Azure, необходимо настроить консольное приложение в том же окне терминала в Visual Studio Code.
Создайте папку для проекта и перейдите в нее.
md az204-cosmos cd az204-cosmos
Создайте консольное приложение .NET.
dotnet new console
Откройте текущую папку в Visual Studio Code с помощью следующей команды. Параметр
-r
открывает папку без запуска нового окна Visual Studio Code.code . -r
Щелкните файл Program.cs на панели обозревателя, чтобы открыть его в редакторе.
Сборка консольного приложения
Пора приступить к добавлению пакетов и кода в проект.
Добавление пакетов и инструкций using
Откройте терминал в Visual Studio Code и выполните следующую команду, чтобы добавить
Microsoft.Azure.Cosmos
пакет в проект.dotnet add package Microsoft.Azure.Cosmos
Удалите любой существующий код в файле
Program.cs
и добавьте инструкциюusing Microsoft.Azure.Cosmos
.using Microsoft.Azure.Cosmos;
Добавление кода для подключения к учетной записи Azure Cosmos DB
Добавьте следующий фрагмент кода после инструкции
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 }
Под методом
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);
}
Выполнение приложения
Сохраните работу и в терминале в Visual Studio Code проверьте наличие ошибок, выполнив
dotnet build
команду. Выполните команду, если сборкаdotnet run
выполнена успешно. В консоли отображаются следующие сообщения.Beginning operations... Created Database: az204Database Created Container: az204Container End of program, press any key to exit.
Результат можно проверить на портале Azure, перейдя к ресурсу Azure Cosmos DB и используя обозреватель данных для просмотра базы данных и контейнера.
Очистка ресурсов Azure
Теперь вы можете безопасно удалить группу ресурсов az204-cosmos-rg из учетной записи, выполнив следующую команду.
az group delete --name az204-cosmos-rg --no-wait