Добавление Azure Cosmos DB в приложение с помощью подключенных служб Visual Studio
С помощью Visual Studio можно подключить любое из следующих элементов к Azure Cosmos DB с помощью функции подключенных служб :
- консольное приложение платформа .NET Framework
- ASP.NET контроллер модели-представления (MVC) (платформа .NET Framework)
- ASP.NET Core
- .NET Core (включая консольное приложение, WPF, Windows Forms, библиотеку классов)
- Рабочая роль .NET Core
- Функции Azure
- приложение универсальная платформа Windows
- Xamarin
- Cordova
Подключенные службы добавляют необходимые ссылки и код подключения в проект и вносят соответствующие изменения в файлы конфигурации.
Необходимые компоненты
- Visual Studio с установленной рабочей нагрузкой Azure.
- Проект одного из поддерживаемых типов
- Учетная запись Azure. Если у вас нет учетной записи Azure, активируйте преимущества Azure для подписчиков Visual Studio или зарегистрируйтесь для получения бесплатной пробной версии.
Подключение к Azure Cosmos DB с помощью подключенных служб
Откройте проект в Visual Studio.
В Обозреватель решений щелкните правой кнопкой мыши узел "Подключенные службы" и в контекстном меню выберите "Добавить подключенную службу".
Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>
На вкладке "Подключенные службы" выберите значок "+" для зависимостей служб.
На странице "Добавление зависимостей" выберите Azure Cosmos DB.
Если вы еще не вошли, войдите в свою учетную запись Azure. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.
На экране Azure Cosmos DB выберите существующий Azure Cosmos DB и нажмите кнопку "Далее".
Если необходимо создать базу данных, перейдите к следующему шагу. В противном случае перейдите к шагу 7.
Чтобы создать Azure Cosmos DB, выполните приведенные действия.
Выберите "Создать azure Cosmos DB " в нижней части экрана.
Заполните Azure Cosmos DB: создайте новый экран и нажмите кнопку "Создать".
При отображении диалогового окна "Настройка Azure Cosmos DB " новая база данных появится в списке. Выберите новую базу данных в списке и нажмите кнопку "Далее".
Введите имя строка подключения и выберите, требуется ли строка подключения храниться в локальном файле секретов или в Azure Key Vault.
На экране "Сводка изменений" отображаются все изменения, которые будут внесены в проект при завершении процесса. Если изменения выглядят ОК, нажмите кнопку "Готово".
Подключение отображается в разделе "Зависимости службы" на вкладке "Подключенные службы".
Примечание.
Для проектов платформа .NET Framework пользовательский интерфейс подключенных служб немного отличается. Чтобы увидеть различия, сравните версию Visual Studio 2019 этой страницы.
Откройте проект в Visual Studio.
В Обозреватель решений щелкните правой кнопкой мыши узел "Подключенные службы" и в контекстном меню выберите "Добавить", чтобы открыть меню доступных служб.
Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>
Выберите Azure Cosmos DB. Откроется страница подключения к зависимости. Вы увидите два варианта: один для локального эмулятора, эмулятор Azure Cosmos DB в контейнере (локальный) и один для подключения к динамической службе Azure Cosmos DB. Вы можете сократить затраты и упростить раннюю разработку, начиная с локального эмулятора. Позже вы можете перейти в динамическую службу, повторив эти действия и выбрав другой вариант.
Если вы решили использовать эмулятор Azure Cosmos DB, нажмите кнопку "Далее ", чтобы просмотреть экран "Сводка изменений ", в котором показано, как изменяется проект. В проект добавляется ссылка на пакет NuGet, а код подключения для локального эмулятора добавляется в проект. После нажатия кнопки "Готово" на последнем экране создается контейнер для эмулятора. В окне вывода отобразится состояние скачивания изображения.
Если вы хотите подключиться к службе Azure, перейдите к следующему шагу или, если вы еще не вошли, войдите в учетную запись Azure, прежде чем продолжить. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.
На экране Azure Cosmos DB выберите существующий Azure Cosmos DB и нажмите кнопку "Далее".
Если необходимо создать базу данных, перейдите к следующему шагу. В противном случае перейдите к шагу 7.
Чтобы создать Azure Cosmos DB, выполните приведенные действия.
Выберите "Создать azure Cosmos DB " в нижней части экрана.
Заполните Azure Cosmos DB: создайте новый экран и нажмите кнопку "Создать".
При отображении диалогового окна "Настройка Azure Cosmos DB " новая база данных появится в списке. Выберите новую базу данных в списке и нажмите кнопку "Далее".
Введите имя строка подключения и выберите, требуется ли строка подключения храниться в локальном файле секретов или в Azure Key Vault.
Строка подключения добавляется в виде секрета и предоставляется в конфигурации приложения. В приложениях ASP.NET Core вы можете получить доступ к этому строка подключения с помощью
Configuration
свойства объектаWebApplicationBuild
.На экране "Сводка изменений" отображаются все изменения, которые будут внесены в проект при завершении процесса. Если изменения выглядят ОК, нажмите кнопку "Готово".
В Обозреватель решений дважды щелкните узел "Подключенные службы", чтобы открыть вкладку "Подключенные службы". Подключение отображается в разделе "Зависимости службы":
Если щелкнуть три точки рядом с добавленной зависимостью, можно увидеть различные параметры, такие как подключение , чтобы повторно открыть мастер и изменить подключение. Вы также можете щелкнуть три точки в правом верхнем углу окна, чтобы просмотреть параметры для запуска локальных зависимостей, изменения параметров и т. д.
По умолчанию ограничение памяти в контейнере имеет значение 2G, но обычно для запуска Azure Cosmos DB требуется больше памяти. Чтобы устранить эту проблему, перейдите к папке
.vs/sd/<GUID>/local
в папке решения. В проводнике Windows может потребоваться включить скрытые файлы для просмотра.vs
папки. Найдите и откройте файл cosmosdb1.docker-compose.yml. Задайте ограничение памяти 4G или выше.mem_limit = 4G
Чтобы перезапустить контейнер с новым параметром, в разделе "Зависимости службы" на вкладке "Подключенные службы" щелкните три точки и нажмите кнопку "Пуск локальных зависимостей".
Примечание.
Локальный эмулятор Для Azure Cosmos DB может ссылаться на базовый образ, использующий временную лицензию для Azure Cosmos DB. Если контейнер не запускается, проверьте вкладку "Журналы" в окне "Контейнеры" для контейнера Azure Cosmos DB. Если он упоминает о проблеме с истечением срока действия PAL, необходимо получить последний базовый образ для локального контейнера. Выполните следующую команду из командной строки: docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Лицензия периодически обновляется и после истечения срока действия обновления до нового контейнера должна решить эту проблему. Вы можете просмотреть и сообщить о проблемах эмулятора Azure Cosmos DB в репозитории GitHub эмулятора Azure Cosmos DB.
Следующие шаги
Узнайте, как безопасно хранить секреты, следуя безопасному хранилищу секретов приложений в разработке в ASP.NET Core. В частности, чтобы прочитать строка подключения из хранилища секретов, можно добавить код, как в разделе "Чтение секрета" через API конфигурации. Код может выглядеть следующим образом, где builder
находится экземпляр WebApplicationBuild
, который отображается в Program.cs в шаблонах проектов ASP.NET Core:
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
connectionString: builder.Configuration["CosmosDBConnectionString"]
);
Предоставляет CosmosClient
доступ к функциям Azure Cosmos DB с помощью различных методов. После создания экземпляра CosmosClient
можно создать базу данных NoSQL, выполнив следующее руководство. Создайте базу данных в Azure Cosmos DB для NoSQL с помощью .NET.