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

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