Общие сведения об интеграции .NET.NET Aspire
.NET Aspire интеграции — это курированный набор пакетов NuGet, выбранных для облегчения интеграции облачных нативных приложений с популярными службами и платформами, такими как Redis и PostgreSQL. Каждая интеграция предоставляет основные облачные функции с помощью автоматической подготовки или стандартных шаблонов конфигурации.
Подсказка
Всегда старайтесь использовать последнюю версию интеграции .NET.NET Aspire, чтобы воспользоваться новейшими функциями, улучшениями и обновлениями системы безопасности.
Обязанности по интеграции
Большинство .NET.NET Aspire интеграции состоят из двух отдельных библиотек, каждый из которых несет другую ответственность. Один тип представляет ресурсы в проекте хоста приложения
Интеграции хостинга
Интеграция для размещения настраивает приложения, подготавливая ресурсы (например, контейнеры или облачные ресурсы) или указывая на существующие экземпляры (например, локальный SQL-сервер). Эти пакеты моделиируют различные службы, платформы или возможности, включая кэши, базы данных, ведение журнала, хранилище и системы обмена сообщениями.
Интеграция размещения расширяет интерфейс aspire
, integration
и hosting
. Помимо официальных интеграций размещения, сообщество разработало интеграции размещения для различных служб и платформ в рамках комплекта инструментов сообщества.
Сведения о создании пользовательской интеграции хостингасм. в статье Создание пользовательской .NET.NET Aspire интеграции хостинга.
интеграции Client
Client интеграции подключают клиентские библиотеки к внедрению зависимостей, определяют схему конфигурации и добавляют проверки работоспособности, устойчивостьи телеметрию, где это применимо.
.NET
.NET Aspire библиотеки интеграции клиента префиксируются Aspire.
, а затем включают полное имя пакета, с которым они интегрируются, например Aspire.StackExchange.Redis
.
Эти пакеты настраивают существующие клиентские библиотеки для подключения к хостинг интеграции. Они расширяют интерфейс IHostApplicationBuilder, позволяя проектам, потребляющим клиентов, таким как ваше веб-приложение или API, использовать подключенный ресурс. Официальные пакеты NuGet интеграции с клиентом помечены aspire
, integration
и client
. Помимо официальных интеграций клиентов, сообщество создало интеграции клиентов для различных служб и платформ в рамках набора инструментов сообщества.
Дополнительные сведения о создании пользовательских интеграций клиента см. в разделе Создание пользовательских .NET.NET Aspire интеграций клиентов.
Связь между размещением и интеграцией клиентов
Размещение и интеграция клиента лучше при совместном использовании, но не сопряжены и могут использоваться отдельно. Некоторые интеграции хостинга не имеют соответствующей интеграции с клиентом. Конфигурация обеспечивает работу интеграции размещения с интеграцией клиента.
Рассмотрим следующую схему, которая показывает связь между размещением и интеграцией клиентов:
Проект хостинга приложения — это место, где используются интеграции хостинга. Конфигурация, в частности переменные среды, внедряется в проекты, исполняемые файлы и контейнеры, что позволяет интеграциям клиентов подключаться к интеграциям хостинга.
Функции интеграции
При добавлении интеграции клиента в проект в рамках вашего решения .NET.NET Aspire, к этому проекту автоматически применяются настройки службы по умолчанию ; это означает, что происходит ссылка на проект со служебными настройками, и вызывается метод расширения AddServiceDefaults
. Эти значения по умолчанию предназначены для эффективной работы в большинстве сценариев и могут быть настроены по мере необходимости. Применяются следующие значения по умолчанию службы:
наблюдаемость и телеметрия: автоматически настраивает конфигурации логирования, трассировки и метрики:
- ведение журнала: метод, в котором код инструментируется для создания журналов интересных событий, произошедших во время выполнения программы.
- трассировки: специализированный вид ведения журнала, который помогает локализовать сбои и проблемы с производительностью в приложениях, распределённых на несколько компьютеров или процессов.
- метрики: числовые измерения, записываемые с течением времени, чтобы отслеживать производительность и состояние приложения. Метрики часто используются для создания оповещений при обнаружении потенциальных проблем.
проверки работоспособности: предоставляет конечные точки HTTP для предоставления основных сведений о доступности и состоянии приложения. Проверки работоспособности используются для влияния на решения, принятые оркестраторами контейнеров, подсистемами балансировки нагрузки, шлюзами API и другими службами управления.
устойчивость. Способность системы реагировать на сбой и при этом оставаться функциональной. Устойчивость выходит за рамки предотвращения сбоев, включая восстановление и реконструкцию облачной среды обратно в работоспособное состояние.
Соображения о версиях
Хостинг и интеграции клиентов обновляются с каждым выпуском, нацелены на последние стабильные версии зависимых ресурсов. При обновлении контейнерных образов новыми версиями, интеграции размещения обновляются в соответствии с этими версиями. Аналогичным образом, когда новая версия NuGet доступна для зависимой клиентской библиотеки, соответствующая интеграция клиента обновляется до новой версии. Это гарантирует, что последние функции и обновления системы безопасности доступны для приложений.
При критических изменениях в зависимых ресурсах интеграция может временно разделиться на пакеты, зависящие от версий, чтобы упростить обновление во время критического изменения. Дополнительные сведения см. в первом примере такого критического изменения.
Официальные интеграции
.NET .NET Aspire предоставляет множество интеграции для создания облачных приложений. Эти интеграции предназначены для эффективной работы с узлом приложения .NET.NET Aspire и клиентскими библиотеками. В следующих разделах подробно описаны облачно-независимые интеграции, интеграции, специфичные для Azure, а также интеграции с Amazon Web Services (AWS) и Community Toolkit.
Интеграция, не зависящая от облака
В следующем разделе приведены сведения о независимых от облачных платформ интеграциях .NET.NET Aspire со ссылками на соответствующие документы и пакеты NuGet и краткое описание каждой интеграции.
Документация по интеграции и пакеты NuGet | Описание |
---|---|
-
Дополнительные сведения: 📄 Apache Kafka - хостинг: 📦Aspire. Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Библиотека для создания и использования сообщений от брокера Apache Kafka. |
-
Дополнительные сведения: 📄 Dapr - хостинга: 📦Aspire. Хостинг.Dapr - Client: N/A |
Библиотека для моделирования Dapr в качестве ресурса .NET.NET Aspire. |
-
Дополнительные сведения: 📄 Elasticsearch - хостинга: 📦Aspire. Хостинг.Elasticsearch - Client: 📦Aspire. Elastic.Client.Elasticsearch |
Библиотека для доступа к базам данных Elasticsearch. |
-
Дополнительные сведения: 📄 Keycloak - хостинга: 📦Aspire. Хостинг.Keycloak - Client: 📦Aspire.Keycloak. Проверка подлинности |
Библиотека для доступа к аутентификации Keycloak. |
-
Дополнительные сведения: 📄 Milvus - хостинга: 📦Aspire. Хостинг.Milvus - Client: 📦Aspire.Milvus.Client |
Библиотека для доступа к базам данных Milvus. |
-
Дополнительные сведения: 📄MongoDB драйвер - хостинга: 📦Aspire. Хостинг.MongoDB - Client: 📦Aspire.MongoDB. драйвера |
Библиотека для доступа к базам данных MongoDB. |
-
Дополнительные сведения: 📄 MySqlConnector - размещения: 📦Aspire. Хостинг.МайЭсКьюЭль - Client: 📦Aspire. MySqlConnector |
Библиотека для доступа к базам данных MySqlConnector. |
-
Дополнительные сведения: 📄 NATS - размещения: 📦Aspire. Размещение.Nats - Client: 📦Aspire.NATS.Net |
Библиотека для доступа к обмену сообщениями NATS. |
-
Дополнительные сведения: 📄Oracle - EF Core - хостинга: 📦Aspire. Хостинг.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Библиотека для доступа к базам данных Oracle с Entity Framework Core. |
-
Дополнительные сведения: 📄 Orleans - хостинга: 📦Aspire. Хостинг.Orleans - Client: N/A |
Библиотека для моделирования Orleans в качестве ресурса .NET.NET Aspire. |
-
Дополнительные сведения: 📄 Pomelo MySQL - EF Core - размещения: 📦Aspire. Хостинг. MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Библиотека для доступа к базам данных MySQL с использованием Entity Framework Core. |
-
Дополнительные сведения: 📄PostgreSQL - EF Core - хостинга: 📦Aspire. Хостинг.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Библиотека для доступа к базам данных PostgreSQL с помощью Entity Framework Core. |
-
Дополнительные сведения: 📄 PostgreSQL - хостинга: 📦Aspire. Хостинг.PostgreSQL - Client: 📦Aspire. Npgsql |
Библиотека для доступа к базам данных PostgreSQL. |
-
Узнать больше: 📄 Qdrant - размещения: 📦Aspire. Хостинг.Qdrant - Client: 📦Aspire. Qdrant.Client |
Библиотека для доступа к базам данных Qdrant. |
-
Дополнительные сведения: 📄 RabbitMQ - хостинга: 📦Aspire. Хостинг.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Библиотека для доступа к RabbitMQ. |
-
Дополнительные сведения: 📄Redis распределенное кэширование - размещения: 📦Aspire. Хостинг.Redis, 📦Aspire. Хостинг.Гарнетили 📦Aspire. Хостинг.Валкей - Client: 📦Aspire. StackExchange.Redis. Распределенное кэширование |
Библиотека для доступа к кэшам Redis для распределенного кэширования. |
-
Дополнительные сведения: 📄Redis кэширование выходных данных - размещения: 📦Aspire. Хостинг.Redis, 📦Aspire. Хостинг.Гарнетили 📦Aspire. Хостинг.Валкей - Client: 📦Aspire. StackExchange.Redis. кэширования выходных данных |
Библиотека для доступа к кэшам Redis для кэширования выходных данных. |
-
Дополнительные сведения: 📄 Redis - размещения: 📦Aspire. Хостинг.Redis, 📦Aspire. Хостинг.Гарнетили 📦Aspire. Хостинг.Валкей - Client: 📦Aspire. StackExchange.Redis |
Библиотека для доступа к кэшам Redis. |
-
Дополнительные сведения: 📄 Seq - хостинга: 📦Aspire. Хостинг.Seq - Client: 📦Aspire.Seq |
Библиотека для логгирования в Seq. |
-
Дополнительные сведения: 📄SQL Server - EF Core - Хостинг: 📦Aspire. Хостинг.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Библиотека для доступа к базам данных SQL Server с помощью EF Core. |
-
Дополнительные сведения: 📄 SQL Server - Хостинг: 📦Aspire. Хостинг.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Библиотека для доступа к базам данных SQL Server. |
Дополнительные сведения о работе с интеграциями .NET Aspire на Visual Studioсмотрите в Visual Studio.
интеграции Azure
Azure интеграции настраивают приложения для использования ресурсов Azure. Эти интеграции размещения доступны в пакетах NuGet Aspire.Hosting.Azure.*
, а их клиентские интеграции доступны в пакетах NuGet Aspire.*
:
Документация по интеграции и пакеты NuGet | Описание |
---|---|
-
Дополнительные сведения: 📄Azure Конфигурация приложений - размещения: 📦Aspire. Хостинг.Azure. Настройка приложения - Client: N/A |
Библиотека для взаимодействия с конфигурацией приложений Azure. |
-
Дополнительные сведения: 📄 Azure Application Insights - размещения: 📦Aspire. Хостинг.Azure. ApplicationInsights - Client: N/A |
Библиотека для взаимодействия с Azure Application Insights. |
-
Дополнительные сведения: 📄Azure Cosmos DB - EF Core - Хостинг: 📦Aspire. Хостинг.Azure. CosmosDB - Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos |
Библиотека для доступа к базам данных AzureиAzure Cosmos DB с помощью Entity Framework Core. |
-
Дополнительные сведения: 📄 Azure Cosmos DB - Хостинг: 📦Aspire. Хостинг.Azure. CosmosDB - Client: 📦Aspire. Корпорация Майкрософт.Azure. Cosmos |
Библиотека для доступа к базам данных Azure Cosmos DB. |
-
Дополнительные сведения: 📄 Azure Event Hubs - размещения: 📦Aspire. Хостинг.Azure. EventHubs - Client: 📦Aspire.Azure. Messaging.EventHubs |
Библиотека для доступа к Azure Event Hubs. |
-
Дополнительные сведения: 📄Azure Функции - хостинг: 📦Aspire. Хостинг.Azure. Функции - Client: N/A |
Библиотека для интеграции с функциями ,Azure,. |
-
Дополнительные сведения: 📄 Azure Key Vault - размещения: 📦Aspire. Хостинг.Azure. KeyVault - Client: 📦Aspire.Azure. Security.KeyVault |
Библиотека для доступа к Azure Key Vault. |
-
Дополнительные сведения: 📄Azure Operations Insights - размещения: 📦Aspire. Хостинг.Azure. Оперативные инсайты - Client: N/A |
Библиотека для взаимодействия с Azure Operations Insights. |
-
Дополнительные сведения: 📄 Azure AI OpenAI - Хостинг: 📦Aspire. Хостинг.Azure. КогнитивныеСервисы - Client: 📦Aspire.Azure. Искусственный интеллект.OpenAI |
Библиотека для доступа к функциям Azure AI OpenAI или OpenAI. |
-
Дополнительные сведения: 📄 Azure PostgreSQL - размещения: 📦Aspire.Хостинг.Azure.PostgreSQL - Client: N/A |
Библиотека для взаимодействия с базой данных Azure для PostgreSQL. |
-
Дополнительные сведения: 📄Azure ИИ-поиск - .Hosting.: 📦Aspire. Хостинг.Azure. Поиск - Client: 📦Aspire.Azure. Search.Documents |
Библиотека для доступа к функциям ИИ поиска Azure. |
-
Дополнительные сведения: 📄 Azure Service Bus - размещения: 📦Aspire. Хостинг.Azure. ServiceBus - Client: 📦Aspire.Azure. Messaging.ServiceBus |
Библиотека для доступа к Azure Service Bus. |
-
Дополнительные сведения: 📄 Azure SignalR Service - размещения: 📦Aspire.Хостинг.Azure.SignalR - Client: Майкрософт.Azure.SignalR |
Библиотека для доступа к Azure SignalR Service. |
-
Дополнительные сведения: 📄 Azure Blob Storage - хостинг: 📦Aspire. Хостинг.Azure. хранилище - Client: 📦Aspire.Azure. Хранилище.BLOB-объекты |
Библиотека для доступа к Azure Blob Storage. |
-
Дополнительные сведения: 📄 Azure Storage Queues - хостинг: 📦Aspire. Хостинг.Azure. хранилище - Client: 📦Aspire.Azure. Storage.Queues |
Библиотека для доступа к Azure Storage Queues. |
-
Дополнительные сведения: 📄 Azure Table Storage - хостинг: 📦Aspire. Хостинг.Azure. хранилище - Client: 📦Aspire.Azure. Таблицы.Данные |
Библиотека для доступа к сервису таблицы |
-
Дополнительные сведения: 📄Azure Web PubSub - Hosting: 📦Aspire.Хостинг.Azure.WebPubSub - Client: 📦Aspire.Azure. Messaging.WebPubSub |
Библиотека для доступа к службе Azure Web PubSub. |
Интеграция хостинга Amazon Web Services (AWS)
Документация по интеграции и пакеты NuGet | Описание |
---|---|
-
Дополнительные сведения: 📄 хостинг AWS - хостинг: 📦Aspire. Хостинг.AWS - Client: N/A |
Библиотека для моделирования ресурсов AWS. |
Дополнительные сведения см. в разделе GitHub: библиотека Hosting.AWS Aspire.
Интеграция с набором средств сообщества
Заметка
Интеграции набора инструментов сообщества .NET.NET Aspire контролируются и поддерживаются сообществом. Эти интеграции официально не поддерживаются командой .NET.NET Aspire.
Документация по интеграции и пакеты NuGet | Описание |
---|---|
-
Дополнительные сведения: 📄Azure эмулятор статических веб-приложений - Хостинг: 📦 CommunityToolkit.Aspire.Хостинг.Azure.StaticWebApps - Client: N/A |
Интеграция хостинга для эмулятора Azure статических веб-приложений (примечание: это не поддерживает развертывание проекта для Azure статических веб-приложений). |
-
Дополнительные сведения: 📄 размещение банок - хостинг: 📦 CommunityToolkit.Aspire. Хостинг.Bun - Client: N/A |
Интеграция хостинга для приложений Bun. |
-
дополнительные сведения: 📄Deno хостинг - Хостинг: 📦 CommunityToolkit.Aspire. Хостинг.Deno - Client: N/A |
Интеграция хостинга для приложений Deno. |
-
Дополнительные сведения: 📄 Размещение 'Go' - хостинг: 📦 CommunityToolkit.Aspire.хостинг.Golang - Client: N/A |
Интеграция хостинга для приложений Go. |
-
Подробнее: 📄 хостинг Java/Spring - размещение: 📦 CommunityToolkit.Aspire. размещение.Java - Client: N/A |
Интеграция для выполнения кода Java в .NET.NET Aspire с использованием локального JDK или контейнера. |
-
Подробнее: 📄Node.js дополнения для хостинга - хостинг: 📦 CommunityToolkit.Aspire.Hosting.NodeJs.Extensions - Client: N/A |
Интеграция с некоторыми дополнительными расширениями для запуска приложений Node.js |
-
Дополнительные сведения: 📄 Ollama - хостинг: 📦 CommunityToolkit.Aspire.Хостинг.Ollama - Client: 📦Aspire. CommunitToolkit.OllamaSharp |
Компонент Aspire, использующий контейнер Ollama и поддерживающий загрузку модели при запуске. |
-
Дополнительные сведения: 📄 Meilisearch размещение - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Компонент Aspire, использующий контейнер Meilisearch. |
-
Узнать больше: 📄 хостинг Rust - размещения: 📦 CommunityToolkit.Aspire. Hosting.Rust - Client: N/A |
Интеграция хостинга для приложений Rust. |
-
дополнительные сведения: 📄 размещение проектов баз данных SQL - хостинг: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: N/A |
Интеграция хостинга Aspire для проектов SQL-баз данных. |
Подробнее см. в разделе Набор средств сообщества .NET.NET Aspire.
.NET Aspire