Поделиться через


Начало работы с Azure Cosmos DB для MongoDB с помощью .NET

Область применения: MongoDB

В этой статье показано, как подключиться к Azure Cosmos DB для MongoDB с помощью .NET Core и соответствующих пакетов NuGet. После подключения можно выполнять операции с базами данных, коллекциями и документами.

Примечание.

Примеры фрагментов кода доступны на GitHub в виде проекта .NET Core.

Справочная документация | по API для MongoDB Package (NuGet)

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

Создание нового приложения .NET Core

  1. Создайте приложение .NET Core в пустой папке с помощью предпочтительного терминала. В этом сценарии вы будете использовать консольное приложение. Используйте команду dotnet new, чтобы создать консольное приложение и присвоить ему имя.

    dotnet new console -o app
    
  2. Добавьте пакет NuGet MongoDB в проект консоли. Используйте команду dotnet add package, указывающую имя пакета NuGet.

    dotnet add package MongoDB.Driver
    
  3. Чтобы запустить приложение, перейдите в каталог приложения и запустите его с помощью терминала.

    dotnet run
    

Подключение к Azure Cosmos DB для MongoDB с помощью собственного драйвера MongoDB

Чтобы подключиться к Azure Cosmos DB с помощью собственного драйвера MongoDB, создайте экземпляр класса MongoClient. Этот класс является начальной точкой для выполнения всех операций с базами данных MongoDB. Наиболее распространенный конструктор mongoClient принимает строку подключения, которую можно получить, выполнив следующие действия:

Получение имени ресурса

  1. Создайте переменную оболочки для resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Используйте команду az cosmosdb list, чтобы получить имя первой учетной записи Azure Cosmos DB в группе ресурсов и сохранить его в переменной оболочки accountName.

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    

Получить строку подключения

  1. Найдите API для MongoDB строка подключения из списка строка подключения для учетной записи с az cosmosdb keys list помощью команды.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Скопируйте значения PRIMARY KEY (первичный ключ). Эти учетные данные понадобятся позже.

Настройка переменных среды

Чтобы использовать значения CONNECTION STRING в коде, задайте это значение в локальной среде, в которой запущено приложение. Чтобы задать переменную среды, используйте предпочтительный терминал для выполнения следующих команд:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

Создание MongoClient с помощью строки подключения

Определите новый экземпляр класса MongoClient с помощью конструктора и переменной строки подключения, которую вы настроили ранее.

// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));

var settings = client.Settings;

Console.WriteLine(settings.Server.Host);

Использование клиентских классов MongoDB с Azure Cosmos DB для API для MongoDB

Прежде чем приступить к созданию приложения, рассмотрим иерархию ресурсов в Azure Cosmos DB. У Azure Cosmos DB есть объектная модель, используемая для создания ресурсов и доступа к ним. Azure Cosmos DB создает ресурсы в иерархии, состоящей из учетных записей, баз данных, коллекций и документов.

Схема иерархии Azure Cosmos DB, включая учетные записи, базы данных, коллекции и документы.

Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных содержит два дочерних узла коллекции. Другой узел базы данных содержит один дочерний узел коллекции. Этот один узел коллекции содержит три дочерних узла документа.

Каждый тип ресурса представлен одним или несколькими связанными классами C#. Ниже приведен список наиболее распространенных классов.

Класс Description
MongoClient Этот класс предоставляет логическое представление на стороне клиента для уровня API для MongoDB в Azure Cosmos DB. Этот клиентский объект позволяет настраивать и выполнять запросы к службе.
MongoDatabase Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется или создается на стороне сервера при попытке выполнении операции с ней.
Collection Этот класс является ссылкой на коллекцию, которая может еще не существовать в службе. Коллекция проверяется на стороне сервера при попытке работы с ней.

Сведения об использовании каждого из этих классов для создания приложения и управления данными приведены в следующих руководствах.

Руководство:

См. также

Следующие шаги

Теперь, когда вы подключились к учетной записи API для MongoDB, используйте следующее руководство для создания баз данных и управления ими.