Partilhar via


Visão geral das integrações .NET.NET Aspire

.NET Aspire integrações são um conjunto selecionado de pacotes NuGet selecionados para facilitar a integração de aplicativos nativos da nuvem com serviços e plataformas proeminentes, como Redis e PostgreSQL. Cada integração fornece funcionalidades essenciais nativas da nuvem por meio de provisionamento automático ou padrões de configuração padronizados.

Dica

Sempre se esforce para usar a versão mais recente das integrações .NET.NET Aspire para aproveitar os recursos, melhorias e atualizações de segurança mais recentes.

Responsabilidades em matéria de integração

A maioria das integrações .NET.NET Aspire são compostas por duas bibliotecas separadas, cada uma com uma responsabilidade diferente. Um tipo representa recursos dentro do projeto de aplicação host, conhecido como integrações de alojamento . O outro tipo de integração representa client bibliotecas que se conectam aos recursos modelados por integrações de hospedagem, e elas são conhecidas como integrações client.

Integrações de hospedagem

As integrações de hospedagem configuram aplicativos provisionando recursos (como contêineres ou recursos de nuvem) ou apontando para instâncias existentes (como um SQL serverlocal). Esses pacotes modelam vários serviços, plataformas ou recursos, incluindo caches, bancos de dados, registro, armazenamento e sistemas de mensagens.

As integrações de hospedagem estendem a interface IDistributedApplicationBuilder, permitindo que o host do aplicativo projeto expresse recursos em seu modelo de aplicativo . Os pacotes NuGet de integração de hospedagem oficiais de são marcados com aspire, integratione hosting. Além das integrações de hospedagem oficiais, a comunidade criou integrações de hospedagem para vários serviços e plataformas como parte do Kit de Ferramentas da Comunidade.

Para obter informações sobre como criar uma integração de hospedagempersonalizada, veja Criar integração de hospedagem personalizada.

Client integrações

Client integrações conectam client bibliotecas para de injeção de dependência (DI), definem esquema de configuração e adicionam verificações de integridade , de resiliência e de telemetria, quando aplicável. .NET Aspire client bibliotecas de integração são prefixadas com Aspire. e, em seguida, incluem o nome completo do pacote com o qual elas se integram, como Aspire.StackExchange.Redis.

Esses pacotes configuram bibliotecas de client existentes para se conectar a integrações de hospedagem. Estendem a interface IHostApplicationBuilder permitindo que projetos que consomem client, como a sua aplicação web ou API, utilizem o recurso conectado. Os pacotes oficiais de integração NuGet client são marcados com aspire, integratione client. Além das integrações client oficiais, a comunidade criou integrações client para vários serviços e plataformas como parte do Kit de Ferramentas da Comunidade.

Para obter mais informações sobre como criar uma integração de client personalizada, consulte Criar integrações de .NET Aspireclient personalizadas.

Relação entre hospedagem e integrações client

As integrações de hospedagem e client são melhores quando usadas juntas, mas não são acopladas e podem ser usadas separadamente. Algumas integrações de hospedagem não têm uma integração de client correspondente. A configuração é o que faz com que a integração de hospedagem funcione com a integração client.

Considere o diagrama a seguir que descreve a relação entre hospedagem e integrações client:

Um diagrama

O projeto de hospedagem de aplicativo é onde são utilizadas as integrações de hospedagem. A configuração, especificamente variáveis de ambiente, é injetada em projetos, executáveis e contêineres, permitindo que integrações client se conectem às integrações de hospedagem.

Recursos de integração

Quando se adiciona uma integração de client a um projeto na solução .NET Aspire, padrões de serviço de são automaticamente aplicados a esse projeto; isto é, o projeto Service Defaults é referenciado e o método de extensão AddServiceDefaults é chamado. Esses padrões são projetados para funcionar bem na maioria dos cenários e podem ser personalizados conforme necessário. Os seguintes parâmetros padrão do serviço são aplicados:

  • Observabilidade e telemetria: Configura automaticamente as configurações de registro, rastreamento e métricas:

    • Logging: Uma técnica onde o código é instrumentado para produzir logs de eventos interessantes que ocorreram enquanto o programa estava em execução.
    • Tracing: uma forma especializada de rastreamento em log que ajuda a localizar falhas e problemas de desempenho em aplicações distribuídas em várias máquinas ou processos.
    • Metrics: Medições numéricas registradas ao longo do tempo para monitorar o desempenho e a integridade do aplicativo. As métricas são frequentemente usadas para gerar alertas quando possíveis problemas são detetados.
  • Verificações de Saúde: Expõe endpoints HTTP para fornecer informações básicas de disponibilidade e estado sobre um aplicativo. As verificações de integridade são usadas para influenciar decisões tomadas por orquestradores de contêineres, balanceadores de carga, gateways de API e outros serviços de gerenciamento.

  • Resiliência: A capacidade do seu sistema de react a falhas e ainda permanecer funcional. A resiliência vai além da prevenção de falhas, incluindo a recuperação e reconstrução do ambiente nativo da nuvem de volta a um estado íntegro.

Integrações oficiais

.NET .NET Aspire fornece muitas integrações para ajudá-lo a criar aplicativos nativos da nuvem. Essas integrações são projetadas para funcionar perfeitamente com as bibliotecas client e o host do aplicativo .NET Aspire. As seções a seguir detalham integrações agnósticas da nuvem, específicas da Azure, da Amazon Web Services (AWS) e do Community Toolkit.

Integrações agnósticas da nuvem

A seção a seguir detalha integrações de .NET.NET Aspire independentes da nuvem com links para seus respetivos documentos e pacotes NuGet e fornece uma breve descrição de cada integração.

Documentos de integração e pacotes NuGet Descrição
- Saiba mais: 📄 Apache Kafka
- Hosting: 📦Aspire. Hosting.Kafka
- Client: 📦Aspire. Confluent.Kafka
Uma biblioteca para produzir e consumir mensagens de um corretor de Apache Kafka.
- Saiba mais: 📄 Dapr
- Hosting: 📦Aspire. Hospedagem.Dapr
- Client: N/A
Uma biblioteca para modelagem Dapr como um recurso .NET.NET Aspire.
- Saiba mais: 📄 Elasticsearch
- Hosting: 📦Aspire. Hospedagem.Elasticsearch
- Client: 📦Aspire. Elastic.Clients.Elasticsearch
Uma biblioteca para aceder a bases de dados Elasticsearch.
- Saiba mais: 📄 Keycloak
- Hosting: 📦Aspire. Hospedagem.Keycloak
- Client: 📦Aspire.Keycloak. Autenticação
Uma biblioteca para acessar a autenticação Keycloak.
- Saiba mais: 📄 Milvus
- Hosting: 📦Aspire. Hospedagem.Milvus
- Client: 📦Aspire.Milvus.Client
Uma biblioteca para aceder a bases de dados Milvus.
- Saiba mais: 📄MongoDB Driver
- Hosting: 📦Aspire. Hospedagem.MongoDB
- Client: 📦Aspire.MongoDB. Condutor
Uma biblioteca para aceder a bases de dados MongoDB.
- Saiba mais: 📄 MySqlConnector
- Hosting: 📦Aspire. Hospedagem.MySql
- Client: 📦Aspire. MySqlConnector
Uma biblioteca para aceder a bancos de dados MySqlConnector.
- Saiba mais: 📄 NATS
- Hosting: 📦Aspire. Hospedagem.Nats
- Client: 📦Aspire.NATS.Net
Uma biblioteca para aceder às mensagens NATS.
- Saiba mais: 📄Oracle - EF Core
- Hosting: 📦Aspire. Hospedagem.Oracle
- Client: 📦Aspire.Oracle.EntityFrameworkCore
Uma biblioteca para aceder bancos de dados Oracle com Entity Framework Core.
- Saiba mais: 📄 Orleans
- Hosting: 📦Aspire. Hospedagem.Orleans
- Client: N/A
Uma biblioteca para modelagem Orleans como um recurso .NET.NET Aspire.
- Saiba mais: 📄 Pomelo MySQL - EF Core
- Hosting: 📦Aspire. Hospedagem.MySql
- Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql
Uma biblioteca para aceder a bancos de dados MySql com Entity Framework Core.
- Saiba mais: 📄PostgreSQL - EF Core
- Hosting: 📦Aspire. Hospedagem.PostgreSQL
- Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL
Uma biblioteca para acessar bancos de dados PostgreSQL usando Entity Framework Core.
- Saiba mais: 📄 PostgreSQL
- Hosting: 📦Aspire. Hospedagem.PostgreSQL
- Client: 📦Aspire. Npgsql
Uma biblioteca para aceder a bases de dados PostgreSQL.
- Saiba mais: 📄 Qdrant
- Hosting: 📦Aspire. Hosting.Qdrant
- Client: 📦Aspire. Qdrant.Client
Uma biblioteca para aceder a bancos de dados Qdrant .
- Saiba mais: 📄 RabbitMQ
- Hosting: 📦Aspire. Hospedagem.RabbitMQ
- Client: 📦Aspire.RabbitMQ.Client
Uma biblioteca para aceder RabbitMQ.
- Saiba mais: 📄Redis Cache Distribuído
- Hosting: 📦Aspire. Hospedagem.Redis, 📦Aspire. Hosting.Garnetou 📦Aspire. Hosting.Valkey
- Client: 📦Aspire.StackExchange.Redis.DistributedCaching
Uma biblioteca para aceder às caches Redis para cache distribuído .
- Saiba mais: 📄Redis Output Caching
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetou 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. OutputCaching
Uma biblioteca para acessar caches de Redis para cache de saída.
- Saiba mais: 📄 Redis
- Hosting: 📦Aspire. Hospedagem.Redis, 📦Aspire. Hosting.Garnetou 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis
Uma biblioteca para acessar caches Redis.
- Saiba mais: 📄 Seq
- Hosting: 📦Aspire. Hospedagem.Seq
- Client: 📦Aspire.Seq
Uma biblioteca para registo no log Seq.
- Saiba mais: 📄SQL Server - EF Core
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer
Uma biblioteca para acessar bancos de dados SQL Server usando EF Core.
- Saiba mais: 📄 SQL Server
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.Data.SqlClient
Uma biblioteca para aceder a bases de dados SQL Server.

Para mais informações sobre integrações de .NET Aspire no Visual Studio, veja a documentação de ferramentas Visual Studio.

Azure integrações

Azure integrações configuram aplicações para utilizar recursos Azure. Essas integrações de hospedagem estão disponíveis nos pacotes Aspire.Hosting.Azure.* NuGet, enquanto suas integrações client estão disponíveis nos pacotes Aspire.* NuGet:

Documentos de integração e pacotes NuGet Descrição
- Saiba mais: 📄Azure Configuração da Aplicação
- Hosting: 📦Aspire. Hospedagem.Azure. AppConfiguration
- Client: N/A
Uma biblioteca para interagir com a Configuração de Aplicações Azure.
- Saiba mais: 📄 Azure Application Insights
- Hosting: 📦Aspire.Hospedagem.Azure.ApplicationInsights
- Client: N/A
Uma biblioteca para interagir com Azure Application Insights.
- Saiba mais: 📄Azure Cosmos DB - EF Core
- Hosting: 📦Aspire. Hospedagem.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos
Uma biblioteca para aceder a bancos de dados AzureAzure Cosmos DB com Entity Framework Core.
- Saiba mais: 📄 Azure Cosmos DB
- Hosting: 📦Aspire. Hospedagem.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.Azure. Cosmos
Uma biblioteca para aceder a bases de dados Azure Cosmos DB.
- Saiba mais: 📄 Azure Event Hubs
- Hosting: 📦Aspire. Hospedagem.Azure. EventHubs
- Client: 📦Aspire.Azure. Messaging.EventHubs
Uma biblioteca para aceder Azure Event Hubs.
- Saiba mais: 📄Azure Functions
- Hosting: 📦Aspire. Hospedagem.Azure. Funções
- Client: N/A
Uma biblioteca para integração com Azure Functions.
- Saiba mais: 📄 Azure Key Vault
- Hosting: 📦Aspire. Hospedagem.Azure. KeyVault
- Client: 📦Aspire.Azure. Security.KeyVault
Uma biblioteca para aceder Azure Key Vault.
- Saiba mais: 📄Azure Operational Insights
- Hosting: 📦Aspire. Hospedagem.Azure. Insights Operacionais
- Client: N/A
Uma biblioteca para interagir com Azure Operational Insights.
- Saiba mais: 📄 Azure AI OpenAI
- Hosting: 📦Aspire. Hospedagem.Azure. CognitiveServices
- Client: 📦Aspire.Azure. IA.OpenAI
Uma biblioteca para aceder a funcionalidade de Azure AI OpenAI ou OpenAI.
- Saiba mais: 📄 Azure PostgreSQL
- Hosting: 📦Aspire. Hospedagem.Azure.PostgreSQL
- Client: N/A
Uma biblioteca para interagir com Azure Base de Dados para PostgreSQL.
- Saiba mais: 📄Azure AI Search
- Hospedagem: 📦Aspire.Hospedagem.Azure.Pesquisar
- Client: 📦Aspire.Azure. Pesquisa.Documentos
Uma biblioteca para aceder Azure à funcionalidade de de pesquisa de IA.
- Saiba mais: 📄 Azure Service Bus
- Hosting: 📦Aspire. Hospedagem.Azure. ServiceBus
- Client: 📦Aspire.Azure.Messaging.ServiceBus
Uma biblioteca para aceder ao Azure Service Bus.
- Saiba mais: 📄 Azure SignalR Service
- Hosting: 📦Aspire. Hospedagem.Azure.SignalR
- Client: Microsoft.Azure.SignalR
Uma biblioteca para aceder Azure SignalR Service.
- Saiba mais: 📄 Azure Blob Storage
- Hosting: 📦Aspire. Hospedagem.Azure. Armazenamento
- Client: 📦Aspire.Azure. Storage.Blobs
Uma biblioteca para aceder Azure Blob Storage.
- Saiba mais: 📄 Azure Storage Queues
- Hosting: 📦Aspire. Hospedagem.Azure. Armazenamento
- Client: 📦Aspire.Azure. Storage.Queues
Uma biblioteca para aceder Azure Storage Queues.
- Saiba mais: 📄 Azure Table Storage
- Hosting: 📦Aspire. Hospedagem.Azure. Armazenamento
- Client: 📦Aspire.Azure. Data.Tables
Uma biblioteca para aceder ao serviço Azure Table.
- Saiba mais: 📄Azure Web PubSub
- Hosting: 📦Aspire. Hospedagem.Azure. WebPubSub
- Client: 📦Aspire.Azure.Messaging.WebPubSub
Uma biblioteca para aceder ao serviço Azure Web PubSub.

Integrações de hospedagem da Amazon Web Services (AWS)

Documentos de integração e pacotes NuGet Descrição
- Saiba mais: 📄 AWS Hosting
- Hosting: 📦Aspire.Hosting.AWS
- Client: N/A
Uma biblioteca para modelagem recursos da AWS.

Para obter mais informações, consulte GitHub: Aspire. Biblioteca Hosting.AWS.

Integrações do Kit de Ferramentas da Comunidade

Observação

As integrações do Kit de Ferramentas da Comunidade são orientadas pela comunidade e mantidas pela comunidade .NET.NET Aspire. Essas integrações não são oficialmente suportadas pela equipe .NET.NET Aspire.

Documentos de integração e pacotes NuGet Descrição
- Saiba mais: 📄Azure Static Web Apps emulator
- Hosting: 📦 CommunityToolkit.Aspire. Hospedagem.Azure. StaticWebApps
- Client: N/A
Uma integração de hospedagem para o emulador Azure Static Web Apps (Observação: isso não oferece suporte à implantação de um projeto para Azure Static Web Apps).
- Saiba mais: 📄 Bun hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Bun
- Client: N/A
Uma integração de hospedagem para aplicativos Bun.
- Saiba mais: 📄Deno alojamento
- Hosting: 📦 CommunityToolkit.Aspire. Hospedagem.Deno
- Client: N/A
Uma integração de hospedagem para aplicativos Deno.
- Saiba mais: 📄 Go hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang
- Client: N/A
Uma integração de hospedagem para aplicativos Go.
- Saiba mais: 📄 Alojamento Java/Spring
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Java
- Client: N/A
Uma integração para executar código Java em .NET.NET Aspire usando o JDK local ou usando um contêiner.
- Saiba mais: 📄Node.js extensões de hospedagem
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions
- Client: N/A
Uma integração que contém algumas extensões adicionais para executar aplicativos Node.js
- Saiba mais: 📄 Ollama
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama
- Client: 📦Aspire. CommunitToolkit.OllamaSharp
Um componente Aspire que aproveita o contentor Ollama com suporte para descarregar um modelo na inicialização.
- Saiba mais: 📄 Meilisearch hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch
- Client: 📦Aspire. CommunitToolkit.Meilisearch
Um componente Aspire aproveitando o contêiner Meilisearch.
- Saiba mais: 📄 Rust hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Rust
- Client: N/A
Uma integração de hospedagem para aplicativos Rust.
- Saiba mais: 📄 projetos do Banco de dados SQL que hospedam
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects
- Client: N/A
Uma integração de hospedagem Aspire para projetos de banco de dados SQL.

Para obter mais informações, consulte .NET.NET Aspire Community Toolkit.