Visión general de las integraciones de .NET.NET Aspire
.NET Aspire es una selección de paquetes de integración de NuGet seleccionados para facilitar la integración de aplicaciones nativas en la nube con servicios y plataformas destacados, como Redis y PostgreSQL. Cada integración proporciona funcionalidades nativas de nube esenciales mediante el aprovisionamiento automático o los patrones de configuración estandarizados.
Consejo o Propina
Siempre se esfuerza por usar la versión más reciente de las integraciones de .NET.NET Aspire para aprovechar las últimas características, mejoras y actualizaciones de seguridad.
Responsabilidades de integración
La mayoría de las integraciones de .NET.NET Aspire se componen de dos bibliotecas independientes, cada una con una responsabilidad diferente. Un tipo representa los recursos dentro del host de la aplicación del proyecto , conocido como las integraciones de hospedaje . El otro tipo de integración representa bibliotecas client que se conectan a los recursos modelados por las integraciones de hospedaje, y se conocen como integraciones client.
Integraciones de hospedaje
Las integraciones de hospedaje configuran aplicaciones aprovisionando recursos (como contenedores o recursos en la nube) o apuntando a instancias existentes (como una instancia local de SQL server). Estos paquetes modelen varios servicios, plataformas o funcionalidades, incluidas las memorias caché, las bases de datos, el registro, el almacenamiento y los sistemas de mensajería.
Las integraciones de hospedaje amplían la interfaz de IDistributedApplicationBuilder, lo que permite al proyecto anfitrión de la aplicación expresar recursos dentro de su modelo de aplicación . El oficial de hospedaje de paquetes NuGet de integración se etiquetan con aspire
, integration
y hosting
. Además de las integraciones oficiales de hospedaje, la comunidad de ha creado integraciones de hospedaje para varios servicios y plataformas como parte del Kit de herramientas de la comunidad.
Para obtener información sobre cómo crear una integración de hospedaje personalizada de , consulte Crear una integración de hospedaje personalizada de .NET.NET Aspire.
integraciones de Client
Client integraciones conectan bibliotecas de client a inserción de dependencias (DI), definen el esquema de configuración y agregan comprobaciones de estado, resistenciay telemetría cuando proceda.
.NET Aspire
client bibliotecas de integración tienen el prefijo Aspire.
y, a continuación, incluyen el nombre completo del paquete con el que se integran, como Aspire.StackExchange.Redis
.
Estos paquetes configuran bibliotecas de client existentes para conectarse a integraciones de hospedaje. Extienden la interfaz de IHostApplicationBuilder, permitiendo que proyectos que consumen client, como tu aplicación web o API, utilicen el recurso conectado. Los paquetes NuGet oficiales de integración client están etiquetados con aspire
, integration
y client
. Además de las integraciones oficiales de client, la comunidad de ha creado client integraciones para diversos servicios y plataformas como parte del Kit de herramientas de la comunidad.
Para obtener más información sobre cómo crear una integración de client personalizada, consulte Creación de integraciones de .NET Aspireclient personalizadas.
Relación entre las integraciones de hospedaje y client
Las integraciones de hospedaje y client son las mejores cuando se usan juntas, pero no están acopladas y se pueden usar por separado. Algunas integraciones de hospedaje no tienen una integración de client correspondiente. La configuración es lo que hace que la integración de hospedaje funcione con la integración de client.
Tenga en cuenta el siguiente diagrama que muestra la relación entre las integraciones de hospedaje y client:
En el proyecto anfitrión de la aplicación es donde se utilizan las integraciones de hospedaje. La configuración, específicamente las variables de entorno, se inserta en proyectos, ejecutables y contenedores, lo que permite que las integraciones de client se conecten a las integraciones de hospedaje.
Características de integración
Al agregar una integración de client a un proyecto dentro de tu solución de .NET Aspire, los valores predeterminados de servicio se aplican automáticamente a ese proyecto; esto significa que se hace referencia al proyecto "Service Defaults" y se llama al método de extensión AddServiceDefaults
. Estos valores predeterminados están diseñados para funcionar bien en la mayoría de los escenarios y se pueden personalizar según sea necesario. Se aplican los siguientes valores predeterminados de servicio:
Observabilidad y telemetría: establece automáticamente el registro, el seguimiento y la configuración de métricas:
- Registro: técnica en la que el código se instrumenta para generar registros de eventos interesantes que se produjeron mientras se estaba ejecutando el programa.
- seguimiento: una forma especializada de registro que le ayuda a localizar errores y problemas de rendimiento dentro de las aplicaciones distribuidas entre varias máquinas o procesos.
- Métricas: medidas numéricas registradas con el tiempo para supervisar el rendimiento y el estado de las aplicaciones. Las métricas se suelen usar para generar alertas cuando se detectan posibles problemas.
comprobaciones de estado: expone puntos de conexión HTTP para proporcionar información básica de disponibilidad y estado sobre una aplicación. Las comprobaciones de estado se usan para influir en las decisiones tomadas por orquestadores de contenedores, equilibradores de carga, puertas de enlace de API y otros servicios de administración.
resiliencia: la capacidad del sistema de react ante fallos y seguir funcionando. La resistencia se extiende más allá de evitar errores para incluir la recuperación y reconstrucción del entorno nativo de la nube a un estado correcto.
Integraciones oficiales
.NET .NET Aspire proporciona muchas integraciones que le ayudarán a crear aplicaciones nativas de la nube. Estas integraciones están diseñadas para funcionar sin problemas con el host de la aplicación .NET Aspire y las bibliotecas de client. En las siguientes secciones se detallan las integraciones independientes de la nube, específicas de Azure, de Amazon Web Services (AWS), y de Community Toolkit.
Integraciones independientes de la nube
En la siguiente sección se detallan las integraciones de .NET.NET Aspire independientes de la nube con vínculos a sus respectivos documentos y paquetes NuGet, y se proporciona una breve descripción de cada integración.
Documentación de integración y paquetes NuGet | Descripción |
---|---|
-
Más información: 📄 Apache Kafka - Hosting: 📦Aspire. Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Biblioteca para producir y consumir mensajes de un agente de Apache Kafka. |
-
Más información: 📄 Dapr - Hosting: 📦Aspire.Hosting.Dapr - Client: N/A |
Una biblioteca para modelar Dapr como un recurso de .NET.NET Aspire. |
-
Más información: 📄 Elasticsearch - Alojamiento: 📦Aspire. Alojamiento.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Biblioteca para acceder a bases de datos de Elasticsearch. |
-
Más información: 📄 Keycloak - Hosting: 📦Aspire.Hosting.Keycloak - Client: 📦Aspire.Keycloak. Autenticación |
Una biblioteca para acceder a la autenticación de Keycloak. |
-
Más información: 📄 Milvus - de hospedaje: 📦Aspire.Hospedaje.Milvus - Client: 📦Aspire.Milvus.Client |
Biblioteca para acceder a bases de datos de Milvus. |
-
Más información: 📄MongoDB controlador - Alojamiento: 📦Aspire. Hosting.MongoDB - Client: 📦Aspire.MongoDB. Controlador |
Biblioteca para acceder a bases de datos de MongoDB. |
-
Más información: 📄 MySqlConnector - de alojamiento: 📦Aspire.Hosting.MySql - Client: 📦Aspire.MySqlConnector |
Una biblioteca para acceder a MySqlConnector bases de datos de. |
-
Más información: 📄 NATS - de hospedaje: 📦Aspire. Hospedaje.Nats - Client: 📦Aspire.NATS.Net |
Una biblioteca para acceder a la mensajería NATS. |
-
Más información: 📄OracleEF Core - de alojamiento: 📦Aspire.Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Una librería para acceder a bases de datos de Oracle con Entity Framework Core. |
-
Más información: 📄 Orleans - Hosting: 📦Aspire.Hosting.Orleans - Client: N/A |
Una biblioteca para modelar Orleans como un recurso de .NET.NET Aspire. |
-
Más información: 📄 Pomelo MySQL - EF Core - de hospedaje: 📦Aspire.Hospedaje.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Una biblioteca para acceder a bases de datos de MySql con Entity Framework Core. |
-
Más información: 📄PostgreSQLEF Core - de hospedaje: 📦AspirePostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Una biblioteca para acceder a bases de datos de PostgreSQL mediante Entity Framework Core. |
-
Más información: 📄 PostgreSQL - Hosting: 📦Aspire.Hosting.PostgreSQL - Client: 📦Aspire. npgsql |
Biblioteca para acceder a bases de datos de PostgreSQL. |
-
Más información: 📄 Qdrant - Hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Biblioteca para acceder a bases de datos de Qdrant. |
-
Más información: 📄 RabbitMQ - Hosting: 📦Aspire.Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Una biblioteca para acceder a RabbitMQ. |
-
Más información: 📄Redis almacenamiento en caché distribuido - .Hosting de hospedaje: 📦Aspire.HostingRedis, 📦Aspire.Hosting.Garneto 📦Aspire.Hosting.Valkey - Client: 📦Aspire.StackExchange.Redis.DistributedCaching |
Biblioteca para acceder a las cachés Redis en el caché distribuido . |
-
Más información: 📄Redis almacenamiento en caché de salida - de Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garneto 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. OutputCaching |
Biblioteca para acceder a cachés de Redis para el caché de salida . |
-
Más información: 📄 Redis - Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, o 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Una biblioteca para acceder a las memorias caché de Redis. |
-
Más información: 📄 Seq - Hosting: 📦Aspire.Hosting.Seq - Client: 📦Aspire.Seq |
Biblioteca para iniciar sesión en Seq. |
-
Más información: 📄SQL ServerEF Core - Hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Biblioteca para el acceso a bases de datos de SQL Server utilizando EF Core. |
-
Más información: 📄 SQL Server - de hospedaje: 📦Aspire. Hosting.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Biblioteca para acceder a bases de datos de SQL Server. |
Para obtener más información sobre cómo trabajar con integraciones de .NET Aspire en Visual Studio, consulte la herramienta Visual Studio.
integraciones de Azure
Las integraciones de Azure configuran las aplicaciones para usar los recursos de Azure. Estas integraciones de hospedaje están disponibles en los paquetes NuGet de Aspire.Hosting.Azure.*
, mientras que sus integraciones de client están disponibles en los paquetes NuGet de Aspire.*
:
Documentación de integración y paquetes NuGet | Descripción |
---|---|
-
Más información: 📄Azure App Configuration - Hosting: 📦Aspire.Hosting.Azure.AppConfiguration - Client: N/A |
Una biblioteca para interactuar con la configuración de aplicaciones Azure. |
-
Más información: 📄 Azure Application Insights - de hosting: 📦Aspire.Hosting.Azure.ApplicationInsights - Client: N/A |
Biblioteca para interactuar con Azure Application Insights. |
-
Más información: 📄Azure Cosmos DBEF Core - de hospedaje: 📦Aspire.Hospedaje.Azure.CosmosDB - Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos |
Biblioteca para acceder con Entity Framework Corea bases de datos de AzureAzure Cosmos DB. |
-
Más información: 📄 Azure Cosmos DB - Hosting: 📦Aspire. Hosting.Azure. CosmosDB - Client: 📦Aspire. Microsoft.Azure. Cosmos |
Biblioteca para acceder a bases de datos de Azure Cosmos DB. |
-
Más información: 📄 Azure Event Hubs - de alojamiento: 📦Aspire.Hosting.Azure.EventHubs - Client: 📦Aspire.Azure. Messaging.EventHubs |
Una biblioteca para acceder a Azure Event Hubs. |
-
Más información: 📄Azure Functions - de alojamiento: 📦Aspire.Alojamiento.Azure.Funciones - Client: N/A |
Biblioteca para la integración con Azure Functions. |
-
Más información: 📄 Azure Key Vault - de alojamiento: 📦Aspire.Alojamiento.Azure.KeyVault - Client: 📦Aspire.Azure.Security.KeyVault |
Una biblioteca para acceder a Azure Key Vault. |
-
Más información: 📄Azure Operational Insights - de hospedaje: 📦Aspire.Hosting.Azure.OperationalInsights - Client: N/A |
Una biblioteca para interactuar con Azure Operational Insights. |
-
Más información: 📄 Azure AI OpenAI - de hospedaje: 📦Aspire.Hosting.Azure.CognitiveServices - Client: 📦Aspire.Azure.AI.OpenAI |
Una biblioteca para acceder a la funcionalidad de Azure AI OpenAI o OpenAI. |
-
Más información: 📄 Azure PostgreSQL - Hosting: 📦Aspire.Hosting.Azure.PostgreSQL - Client: N/A |
Biblioteca para interactuar con la base de datos Azure para PostgreSQL. |
-
Más información: 📄Azure AI Search - Hospedaje: 📦Aspire. Hospedaje.Azure. Buscar - Client: 📦Aspire.Azure. Search.Documents |
Una biblioteca para acceder a la funcionalidad de búsqueda de IA Azure. |
-
Más información: 📄 Azure Service Bus - Hosting: 📦Aspire.Hosting.Azure.ServiceBus - Client: 📦Aspire.Azure.Messaging.ServiceBus |
Una biblioteca para acceder a Azure Service Bus. |
-
Más información: 📄 Azure SignalR Service - de hosting: 📦Aspire.Hosting.Azure.SignalR - Client: Microsoft.Azure.SignalR |
Una biblioteca para acceder a Azure SignalR Service. |
-
Más información: 📄 Azure Blob Storage - de Hosting: 📦Aspire.Hospedaje.Azure. de Almacenamiento - Client: 📦Aspire.Azure. Storage.Blobs |
Una biblioteca para acceder a Azure Blob Storage. |
-
Más información: 📄 Azure Storage Queues - de hospedaje: 📦Aspire.Hospedaje.Azure. de almacenamiento - Client: 📦Aspire.Azure. Storage.Queues |
Una biblioteca para acceder a Azure Storage Queues. |
-
Más información: 📄 Azure Table Storage - de hospedaje: 📦Aspire.Hospedaje.Azure. de almacenamiento - Client: 📦Aspire.Azure. Data.Tables |
Una biblioteca para acceder al servicio de la tabla Azure. |
-
Más información: 📄Azure Web PubSub - Hosting: 📦Aspire. Hosting.Azure. WebPubSub - Client: 📦Aspire.Azure.Messaging.WebPubSub |
Una biblioteca para acceder al servicio de |
Integraciones de hospedaje de Amazon Web Services (AWS)
Documentación de integración y paquetes NuGet | Descripción |
---|---|
-
Más información: 📄 AWS Hosting - Hosting: 📦Aspire.Hosting.AWS - Client: N/A |
Una biblioteca para modelar recursos AWS |
Para obtener más información, vea GitHub: Aspire. Biblioteca Hosting.AWS.
Integraciones de Community Toolkit
Nota
Las integraciones de Community Toolkit están controladas por la comunidad y las mantiene la comunidad de .NET.NET Aspire. Estas integraciones no son compatibles oficialmente con el equipo de .NET.NET Aspire.
Documentación de integración y paquetes NuGet | Descripción |
---|---|
-
Más información: 📄Azure Static Web Apps emulador - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.Azure. StaticWebApps - Client: N/A |
Una integración de hospedaje para el emulador de Azure Static Web Apps (nota: esto no admite la implementación de un proyecto para Azure Static Web Apps). |
-
Más información: 📄 Hosting de Bun - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.Bun - Client: N/A |
Una integración de hospedaje para aplicaciones Bun. |
-
Más información: 📄Deno alojamiento - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno - Client: N/A |
Una integración de hospedaje para aplicaciones de Deno. |
-
Más información: 📄 Ir al alojamiento - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: N/A |
Una integración de hospedaje para aplicaciones de Go. |
-
Más información: 📄 hospedaje de Java/Spring - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Java - Client: N/A |
Una integración para ejecutar código Java en .NET.NET Aspire mediante el JDK local o mediante un contenedor. |
-
Aprender más: 📄Node.js extensiones de hospedaje - Hosting: 📦 CommunityToolkit.Aspire.Hosting.NodeJs.Extensions - Client: N/A |
Integración que contiene algunas extensiones adicionales para ejecutar aplicaciones de Node.js |
-
Más información: 📄 Ollama - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire. CommunitToolkit.OllamaSharp |
Un componente Aspire que utiliza el contenedor Ollama con compatibilidad para descargar un modelo al iniciar. |
-
Más información: 📄 Alojamiento de Meilisearch - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Componente Aspire que aprovecha el contenedor Meilisearch. |
-
Más información: 📄 Hospedaje de Rust - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Rust - Client: N/A |
Una integración de hospedaje para aplicaciones de Rust. |
-
Más información: 📄 proyectos de bases de datos SQL para hospedar - de hospedaje: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects - Client: N/A |
Una Aspire integración de alojamiento para proyectos de bases de datos SQL. |
Para obtener más información, consulte .NET.NET Aspire Community Toolkit.