Общие сведения об интеграции .NET.NET Aspire
.NET Aspire интеграции — это курированный набор пакетов NuGet, выбранных для облегчения интеграции облачных нативных приложений с популярными службами и платформами, такими как Redis и PostgreSQL. Каждая интеграция предоставляет основные облачные функции с помощью автоматической подготовки или стандартных шаблонов конфигурации.
Подсказка
Всегда старайтесь использовать последнюю версию интеграции .NET.NET Aspire, чтобы воспользоваться новейшими функциями, улучшениями и обновлениями системы безопасности.
Обязанности по интеграции
Большинство .NET.NET Aspire интеграции состоят из двух отдельных библиотек, каждый из которых несет другую ответственность. Один тип представляет ресурсы в проекте хоста приложения
Интеграции хостинга
Хостинг-интеграции настраивают приложения, выделяя ресурсы (такие как контейнеры или облачные ресурсы) или указывая на существующие экземпляры (например, локальные экземпляры SQL server). Эти пакеты моделиируют различные службы, платформы или возможности, включая кэши, базы данных, ведение журнала, хранилище и системы обмена сообщениями.
Интеграция размещения расширяет интерфейс aspire
, integration
и hosting
. Помимо официальных интеграций размещения, сообщество разработало интеграции размещения для различных служб и платформ в рамках комплекта инструментов сообщества.
Сведения о создании пользовательской интеграции хостингасм. в статье Создание пользовательской .NET.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.
.NET Aspire