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


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

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

Подсказка

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

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

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

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

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

Интеграция размещения расширяет интерфейс , позволяя проекту узла приложения выразить ресурсы в модели приложения . Официальные NuGet-пакеты интеграции хостинга помечены aspire, integrationи hosting. Помимо официальных интеграций размещения, сообщество разработало интеграции размещения для различных служб и платформ в рамках комплекта инструментов сообщества.

Сведения о создании пользовательской интеграции хостингасм. в статье Создание пользовательской .NET.NET Aspire интеграции хостинга.

интеграции Client

интеграции с библиотеками для внедрениязависимостей , определения схемы конфигурации и добавления проверок работоспособности, устойчивостии телеметрии, где это применимо. .NET Aspire client библиотеки интеграции префиксируются Aspire., а затем включают полное имя пакета, с которым они интегрируются, например Aspire.StackExchange.Redis.

Эти пакеты настраивают существующие библиотеки client для подключения к хостинговым интеграциям. Они расширяют интерфейс IHostApplicationBuilder, что позволяет проектам, использующим client, таким как ваше веб-приложение или API, использовать подключенный ресурс. Официальные пакеты NuGet интеграции client помечены aspire, integrationи client. Помимо официальных интеграций client, сообщество создало интеграции client для различных служб и платформ в рамках "Сообщественного набора инструментов".

Дополнительные сведения о создании пользовательской интеграции client см. в статье Создание пользовательских интеграции .NET Aspireclient.

Связь между размещением и интеграциями client

Сервисы размещения и интеграции client работают лучше всего, когда используются вместе, но не связаны и могут использоваться отдельно. Некоторые интеграции хостинга не имеют соответствующей интеграции client. Конфигурация обеспечивает работу интеграции размещения с интеграцией client.

Рассмотрим следующую схему, которая показывает связь между размещением и интеграцией client:

диаграмма

Проект хостинга приложения — это место, где используются интеграции хостинга. Конфигурация, в частности переменные среды, внедряются в проекты, исполняемые файлы и контейнеры, позволяя интеграциям client подключаться к интеграциям размещения.

Функции интеграции

При добавлении интеграции client в проект в решении .NET Aspire служба по умолчанию автоматически применяется к этому проекту; означает, что на проект Service Defaults ссылается и вызывается метод расширения AddServiceDefaults. Эти значения по умолчанию предназначены для эффективной работы в большинстве сценариев и могут быть настроены по мере необходимости. Применяются следующие значения по умолчанию службы:

  • наблюдаемость и телеметрия: автоматически настраивает конфигурации логирования, трассировки и метрики:

    • ведение журнала: метод, в котором код инструментируется для создания журналов интересных событий, произошедших во время выполнения программы.
    • трассировки: специализированный вид ведения журнала, который помогает локализовать сбои и проблемы с производительностью в приложениях, распределённых на несколько компьютеров или процессов.
    • метрики: числовые измерения, записываемые с течением времени, чтобы отслеживать производительность и состояние приложения. Метрики часто используются для создания оповещений при обнаружении потенциальных проблем.
  • проверки работоспособности: предоставляет конечные точки HTTP для предоставления основных сведений о доступности и состоянии приложения. Проверки работоспособности используются для влияния на решения, принятые оркестраторами контейнеров, подсистемами балансировки нагрузки, шлюзами API и другими службами управления.

  • устойчивость: способность системы react сохранять работоспособность при сбоях. Устойчивость выходит за рамки предотвращения сбоев, включая восстановление и реконструкцию облачной среды обратно в работоспособное состояние.

Официальные интеграции

.NET .NET Aspire предоставляет множество интеграции для создания облачных приложений. Эти интеграции предназначены для эффективной работы с узлом приложения .NET Aspire и библиотеками client. В следующих разделах подробно описаны облачно-независимые интеграции, интеграции, специфичные для 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. Хостинг.MySql
- 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. Хостинг.Garnetили 📦Aspire. Хостинг.Valkey
- Client: 📦Aspire. StackExchange.Redis. кэширования выходных данных
Библиотека для доступа к кэшам Redis для кэширования выходных данных.
- Дополнительные сведения: 📄 Redis
- размещения: 📦Aspire. Хостинг.Redis, 📦Aspire. Хостинг.Garnetили 📦Aspire. Хостинг.Valkey
- 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. Hosting.SqlServer
- Client: 📦Aspire. Microsoft.Data.SqlClient
Библиотека для доступа к базам данных SQL Server.

Дополнительные сведения о работе с интеграциями .NET Aspire на Visual Studioсмотрите в Visual Studio.

интеграции Azure

Azure интеграции настраивают приложения для использования ресурсов Azure. Интеграции размещения доступны в пакетах NuGet Aspire.Hosting.Azure.*, а интеграции client – в пакетах 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.