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


Общие сведения об интеграции .NET.NET Aspire

.NET Aspire интеграции — это курированный набор пакетов NuGet, выбранных для облегчения интеграции облачных нативных приложений с популярными службами и платформами, такими как Redis и PostgreSQL. Каждая интеграция предоставляет основные облачные функции с помощью автоматической подготовки или стандартных шаблонов конфигурации.

Подсказка

Всегда старайтесь использовать последнюю версию интеграции .NET.NET Aspire, чтобы воспользоваться новейшими функциями, улучшениями и обновлениями системы безопасности.

Обязанности по интеграции

Большинство .NET.NET Aspire интеграции состоят из двух отдельных библиотек, каждый из которых несет другую ответственность. Один тип представляет ресурсы в проекте хоста приложения , известного как интеграции размещения . Другой тип интеграции представляет клиентские библиотеки, которые подключаются к ресурсам, моделируемым хостинг-интеграциями, и они называются клиентские интеграции.

Интеграции хостинга

Интеграция для размещения настраивает приложения, подготавливая ресурсы (например, контейнеры или облачные ресурсы) или указывая на существующие экземпляры (например, локальный SQL-сервер). Эти пакеты моделиируют различные службы, платформы или возможности, включая кэши, базы данных, ведение журнала, хранилище и системы обмена сообщениями.

Интеграция размещения расширяет интерфейс , позволяя проекту узла приложения выразить ресурсы в модели приложения . Официальные NuGet-пакеты интеграции хостинга помечены 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.