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


Подключение к службам Azure, gRPC, OpenAPI и т. д.

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

Благодаря подключенным службам Visual Studio вы получаете современный интерфейс потребления служб, который позволяет каждой службе адаптировать свои возможности потребления, предлагая вам ответы на соответствующие вопросы, которые необходимо быстро приступить к работе.

Подключенные службы включают коллекцию средств в Visual Studio, которые помогают подключить приложение к следующим элементам:

  • Службы Azure;
  • Конечные точки OpenAPI
  • Конечные точки gRPC (удаленный вызов процедур)
  • Конечные точки Windows Communication Foundation (WCF)
  • Базы данных и поставщики данных

Начните работу, щелкнув правой кнопкой мыши узел "Подключенные службы" в Обозреватель решений и выберите "Управление подключенными службами".

Начните работу, щелкнув правой кнопкой мыши узел проекта и выбрав "Добавить > подключенную службу". Вы также можете щелкнуть правой кнопкой мыши узел "Подключенные службы" в Обозреватель решений и выбрать определенную службу для добавления.

Поддерживаемые типы проектов зависят от типа службы. Вы увидите параметры, которые применяются к вашему типу проекта, в списке выбранных элементов.

Многие подписки Visual Studio включают отдельные кредиты разработки и тестирования Azure. Если вы являетесь подписчиком Visual Studio, вы можете использовать эти кредиты, чтобы попробовать различные службы Azure без затрат. Если у вас нет подписки Azure, вы можете создать бесплатную учетную запись.

Подключение приложения к службам Azure

Используйте Подключенные службы, чтобы подключить приложение к эмуляторам служб Azure и другим локальным альтернативам служб Azure. Сейчас Visual Studio поддерживает следующие службы:

Имя Описание
Конфигурация приложений Azure Доступ к параметрам ключей и значений, а также флагам функций, которые управляются централизованно в Azure.
аналитика приложение Azure Обеспечивает расширяемое управление производительностью приложений и мониторинг интерактивных веб-приложений.
Служба приложений Azure Обеспечивает полное масштабируемое размещение динамических веб-приложений.
Функции Azure Предоставляет масштабируемые службы вычислений по запросу для веб-API и многое другое.
Хранилище Azure Масштабируемое облачное хранилище с поддержкой больших двоичных объектов, таблиц, очередей, дисков.
Служба SignalR Azure Веб-функции в реальном времени по протоколу HTTP.
Azure Key Vault Безопасное облачное хранилище для криптографических ключей и других секретов, используемых вашими приложениями Azure.
База данных SQL Azure Размещенные в облаке База данных SQL.
Кэш Azure для Redis Хранилище данных в памяти на основе программного обеспечения Redis.
Azure Cosmos DB Полностью управляемая база данных NoSQL для разработки современных приложений.
Платформа удостоверений Майкрософт Проверка подлинности с помощью удостоверений Майкрософт и учетных записей социальных сетей.

Примечание.

С помощью публикации можно развернуть приложение в службах размещения Azure, таких как виртуальные машины Azure, Служба приложений Azure, Функции Azure и Реестр контейнеров Azure.

Базы данных и поставщики данных

Visual Studio предоставляет возможности подключения к локальным базам данных, локально эмулированным версиям поставщиков данных, а также службам баз данных Azure.

Имя Описание
Эмулятор Azure Cosmos DB в контейнере Эмулятор Azure Cosmos DB, работающий в локальном контейнере.
MongoDB в контейнере Базы данных документов MongoDB обеспечивают высокую надежность и удобство масштабирования. Этот параметр делает его доступным в локальном контейнере.
PostgreSQL в контейнере Система объектно-реляционной базы данных PostgreSQL обеспечивает надежность и целостность данных. Этот параметр делает его доступным в локальном контейнере.
SQLite SQLite — это встроенная библиотека, которая предоставляет автономный, транзакционный SQL Server ядро СУБД без настройки.
База данных SQL Server Локальная база данных SQL Server.

Поддержка эмуляторов Azure и локальных альтернатив

Visual Studio упрощает разработку приложений Azure локально, облегчая переход с локально эмулированных служб на службы, работающие в облаке. Используйте Подключенные службы, чтобы подключить приложение к локальным эмуляторам, некоторые из которых выполняются в локальном контейнере, и другим локальным альтернативам служб Azure. Сейчас Visual Studio поддерживает следующие службы:

Visual Studio создает любой необходимый клиентский или серверный код для упрощения взаимодействия.

Имя Описание
Эмулятор Azure Cosmos DB в контейнере Эмулятор Azure Cosmos DB, работающий в локальном контейнере.
Эмулятор хранения Azure Azurite — это эмулятор службы хранилища Azure, который работает на локальном компьютере.
Application Insights SDK Локальный режим для службы Application Insights.
RabbitMQ в контейнере RabbitMQ — это брокер сообщений с открытым кодом с несколькими протоколами. Этот параметр делает его доступным в локальном контейнере.
Кэш Azure для Redis в контейнере Кэш Azure для Redis размещен в локальном контейнере.
Secrets.json Локальная альтернатива для Key Vault.
SQL Server Express LocalDB Локальная альтернатива Базе данных SQL Azure.

Подключение приложения к конечным точкам gRPC, OpenAPI и WCF

Используйте Подключенные службы для подключения приложения к любой из следующих служб:

Имя. Ссылка ASP.NET Description
Конечные точки OpenAPI Поддержка OpenAPI в приложениях API ASP.NET Core Стандартный формат для описания возможностей службы в форме, понятной компьютеру и человеку.
Конечные точки gRPC Введение в службы gRPC в .NET Служба вызова процедур в реальном времени с открытым кодом.
Конечные точки WCF Н/П Платформа .NET Framework, поддерживающая программирование с распределенной сетью служб.

Контейнеры

Подключенные службы могут помочь в выполнении зависимостей приложений, имитирующих локальные службы Azure в контейнере. Например, вы можете запустить эмулятор службы хранилища Azure, Azurite, в контейнере локально. В следующем разделе описано, какая поддержка реализована в Visual Studio для перехода приложения из режима разработки при использовании этих макетов служб в контейнерах для использования реальных служб, работающих в Azure.

Локальные и подключенные конфигурации

Во время разработки обычно используется локальный эмулятор, локальная база данных или макет службы, выполняющийся в локальном контейнере. При использовании процесса публикации в Visual Studio для развертывания в облаке, будь то Azure, Docker Hub или другая поддерживаемая удаленная среда, Visual Studio может помочь перейти на использование реальных служб и баз данных. Если щелкнуть правой кнопкой мыши узел проекта в обозревателе решений и выбрать пункт Опубликовать, отобразятся инструкции по развертыванию приложения в облаке, но после этого настроенные ранее зависимости службы для локального использования будут отображаться в пользовательском интерфейсе Подключенных служб с желтым значком предупреждения и ссылкой Настроить:

Снимок экрана: параметр

Если щелкнуть эти ссылки, в Visual Studio отобразится несколько экранов, где предлагается указать сведения о подключении к реальной службе, работающей в облаке, которая будет использоваться облачным приложением вместо локальной службы. Например, если изначально приложение настроено для работы с локально выполняющимся экземпляром SQL LocalDB, потребовалось бы указать имя строки подключения и начальное значение, на которое имеется ссылка в базе данных LocalDB. После первого развертывания приложения в облачной среде можно использовать ссылки Настроить, чтобы указать строку подключения для использования в облаке. В сценариях развертывания Azure Visual Studio также представляет возможность использовать Azure Key Vault для безопасного хранения строки подключения и других секретов.

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

Принцип работы

Visual Studio создает два новых файла в разделе "Свойства" в Обозревателе решений — serviceDependencies.json и serviceDependencies.local.json. Оба файла можно вернуть, так как они не содержат секретов.

Visual Studio также создает файл serviceDependencies.local.json.user, который по умолчанию не отображается в Обозревателе решений. Этот файл содержит сведения, которые можно считать секретом (например, идентификаторы ресурсов в Azure), и мы не рекомендуем его возвращать.