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


Подключение к службам 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 App Insights Обеспечивает расширяемое управление производительностью приложений и мониторинг для динамических веб-приложений.
службы приложений Azure Предоставляет полнофункционируемое размещение динамических веб-приложений.
Функции Azure Предоставляет масштабируемые службы вычислений по запросу для веб-API и многое другое.
Azure хранилище данных Масштабируемое облачное хранилище с поддержкой BLOB, таблиц, очередей, дисков.
служба Azure SignalR Веб-функции в режиме реального времени по протоколу HTTP.
Azure Key Vault Безопасное облачное хранилище для криптографических ключей и других секретов, используемых приложениями Azure.
База данных SQL Azure База данных SQL, размещенная в облаке.
Azure Cache для Redis Хранилище данных в памяти на основе программного обеспечения Redis.
Azure Cosmos DB Полностью управляемая база данных NoSQL для современной разработки приложений.
платформа идентификации Майкрософт Аутентификация с помощью идентификаций Microsoft и социальных учетных записей.

Заметка

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

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

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

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

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

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

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

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

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

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

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

Контейнеры

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

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

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

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

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

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

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

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

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