Compartir a través de


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, integrationy 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, integrationy 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:

diagrama

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 Web PubSub.

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.