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 bibliotecas de cliente que se conectam aos recursos modelados por integrações de hospedagem, e elas são conhecidas como integrações de cliente .

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 servidor SQL local). 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

integrações conectam bibliotecas de cliente 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 .NET Aspire bibliotecas de integração de cliente são prefixadas com Aspire. e, em seguida, incluem o nome completo do pacote com o qual se integram, como Aspire.StackExchange.Redis.

Esses pacotes configuram bibliotecas de cliente existentes para se conectarem a integrações de hospedagem. Eles estendem a interface IHostApplicationBuilder, permitindo que projetos que consomem a interface, como a sua aplicação web ou API, usem o recurso associado. Os pacotes oficiais de integração do cliente NuGet são marcados com aspire, integratione client. Além das integrações oficiais de clientes, a comunidade criou integrações de clientes 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 cliente personalizada, consulte Criar integrações de cliente personalizadas .NET.NET Aspire.

Relação entre hospedagem e integrações de clientes

Hospedagem e integrações de cliente 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 cliente correspondente. A configuração é o que faz com que a integração de hospedagem funcione com a integração do cliente.

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

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 as integrações do cliente se conectem às integrações de hospedagem.

Recursos de integração

Quando você adiciona uma integração de cliente a um projeto dentro de sua solução .NET.NET Aspire, padrões de serviço são aplicados automaticamente a esse projeto; ou seja, 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 reagir 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.

Considerações sobre versões

As integrações de hospedagem e cliente são atualizadas a cada versão para direcionar as versões estáveis mais recentes dos recursos dependentes. Quando as imagens de contêiner são atualizadas com novas versões de imagem, as integrações de hospedagem são atualizadas para essas novas versões. Da mesma forma, quando uma nova versão do NuGet está disponível para uma biblioteca de cliente dependente, a integração do cliente correspondente é atualizada para a nova versão. Isso garante que os recursos e atualizações de segurança mais recentes estejam disponíveis para os aplicativos.

Quando ocorrem mudanças significativas em recursos dependentes, as integrações podem ser divididas temporariamente em pacotes específicos de versão para facilitar a atualização através da mudança disruptiva. Para obter mais informações, consulte o primeiro exemplo de uma alteração disruptiva.

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 o host do aplicativo .NET.NET Aspire e as bibliotecas de clientes. 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. Hosting.MySql
- Client: 📦Aspire. MySqlConnector
Uma biblioteca para aceder a bancos de dados MySqlConnector.
- Saiba mais: 📄 NATS
- Hosting: 📦Aspire.Hosting.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. Hosting.MySql
- Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql
Uma biblioteca para aceder 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. Hospedagem.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 de cliente 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 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.