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 cliente que se conectan a los recursos modelados por integraciones de hospedaje y se conocen como integraciones de cliente.
Integraciones de hospedaje
Las integraciones de hospedaje configuran aplicaciones aprovisionando recursos (como contenedores o recursos en la nube) o apuntando a instancias existentes (como un servidor SQL local). 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 Las integraciones conectan las bibliotecas de cliente con la inserción de dependencias (DI). Se define el esquema de configuración y se agregan verificaciones de estado, resilienciay telemetría cuando sea aplicable.
.NET
.NET Aspire bibliotecas de integración de cliente 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 las bibliotecas cliente existentes para conectarse a integraciones de hospedaje. Amplían la interfaz de IHostApplicationBuilder, lo que permite que los proyectos que utilizan el cliente, como la aplicación web o la API, puedan usar el recurso conectado. Los oficiales de integración de cliente de de NuGet se etiquetan con aspire
, integration
y client
. Además de las integraciones oficiales de cliente, la comunidad de ha creado integraciones de cliente para varios 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 cliente personalizada, consulte Creación de integraciones de cliente de .NET.NET Aspire personalizadas.
Relación entre las integraciones de hospedaje y cliente
Las integraciones de hospedaje y cliente son las mejores cuando se usan juntas, pero no se acopladas y se pueden usar por separado. Algunas integraciones de hospedaje no tienen una integración de cliente correspondiente. La configuración es lo que hace que la integración de hospedaje funcione con la integración de cliente.
Tenga en cuenta el diagrama siguiente que muestra la relación entre las integraciones de hospedaje y cliente:
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 cliente se conecten a las integraciones de hospedaje.
Características de integración
Al agregar una integración de cliente a un proyecto dentro de la solución de .NET.NET Aspire, los valores predeterminados del servicio se aplican automáticamente a ese proyecto; es decir, 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.
resistencia: la capacidad del sistema de reaccionar ante errores y seguir siendo funcional. 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.
Consideraciones de control de versiones
Las integraciones de hospedaje y cliente se actualizan cada versión para tener como destino las versiones estables más recientes de los recursos dependientes. Cuando las imágenes de contenedor se actualizan con nuevas versiones de imagen, las integraciones de hospedaje se actualizan a estas nuevas versiones. Del mismo modo, cuando hay disponible una nueva versión de NuGet para una biblioteca cliente dependiente, la integración de cliente correspondiente se actualiza a la nueva versión. Esto garantiza que las últimas características y actualizaciones de seguridad estén disponibles para las aplicaciones.
Cuando se producen cambios incompatibles importantes en los recursos dependientes, las integraciones pueden dividirse temporalmente en paquetes dependientes de la versión para facilitar la actualización durante el cambio incompatible. Para obtener más información, vea el primer ejemplo de un cambio radical.
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 de manera fluida con las bibliotecas de host y cliente de aplicaciones de .NET.NET Aspire. 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 - Hosting: 📦Aspire.Hosting.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 - Hosting: 📦Aspire.Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Biblioteca para acceder a bases de datos de Milvus. |
-
Más información: 📄MongoDB controlador - Hosting: 📦Aspire.Hosting.MongoDB - Client: 📦Aspire.MongoDB. Controlador |
Biblioteca para acceder a bases de datos de MongoDB. |
-
Más información: 📄 MySqlConnector - Hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire.MySqlConnector |
Una biblioteca para acceder a MySqlConnector bases de datos de. |
-
Más información: 📄 NATS - de hosting: 📦Aspire. Hosting.Nats - Client: 📦Aspire.NATS.Net |
Una biblioteca para acceder a la mensajería NATS. |
-
Más información: 📄OracleEF Core - Hosting: 📦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. Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Una biblioteca para acceder a bases de datos MySQL con Entity Framework Core. |
-
Más información: 📄PostgreSQLEF Core - Hosting: 📦Aspire.Hosting.PostgreSQL - 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 - .Hosting de hospedaje: 📦Aspire.HostingRedis, 📦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 de hospedaje: 📦Aspire.HostingRedis, 📦Aspire.Hosting.Garneto 📦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 - Hosting: 📦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 cliente 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 Azurea bases de datos de Azure Cosmos DBEntity Framework Core. |
-
Más información: 📄 Azure Cosmos DB - de hospedaje: 📦Aspire.Hospedaje.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 - 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 Hosting: 📦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 Hosting: 📦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.