visão geral das integrações .NET.NET Aspire
Integrações .NET Aspire são um conjunto selecionado de pacotes NuGet projetados para facilitar a integração de aplicativos nativos para a nuvem com serviços e plataformas proeminentes, como Redis e PostgreSQL. Cada integração fornece funcionalidades nativas de nuvem essenciais por meio de provisionamento automático ou padrões de configuração padronizados.
Dica
Procure sempre usar as versões mais recentes das integrações .NET.NET Aspire para tirar proveito dos recursos, melhorias e atualizações de segurança mais atuais.
Responsabilidades 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 host de aplicativo do projeto, conhecido como integrações de hospedagem . O outro tipo de integração representa client bibliotecas que se conectam aos recursos modelados por integrações de hospedagem e 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 local server). Esses pacotes modelam vários serviços, plataformas ou funcionalidades, incluindo caches, bancos de dados, log, armazenamento e sistemas de mensagens.
As integrações de hospedagem estendem a interface IDistributedApplicationBuilder, permitindo ao host do aplicativo expressar recursos no projeto dentro do seu modelo de aplicativo . Os pacotes NuGet oficiais de integração de hospedagem são marcados com aspire
, integration
e hosting
. Além das integrações oficiais de hospedagem, 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 hospedagem personalizada, consulte Criar integração de hospedagem .NET.NET Aspire personalizada.
integrações Client
Aspire.
e incluem o nome completo do pacote com o qual se integram, como Aspire.StackExchange.Redis
.
Esses pacotes configuram bibliotecas de client existentes para se conectarem a integrações de hospedagem. Eles estendem a interface IHostApplicationBuilder permitindo que projetos que consomem client, como seu aplicativo Web ou API, usem o recurso conectado. Os pacotes NuGet de integração client oficiais são marcados com aspire
, integration
e client
. Além das integrações client oficiais, a comunidade criou client integrações 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 de client
As integrações de hospedagem e client são melhores quando usadas em conjunto, mas não são acopladas e podem ser usadas separadamente. Algumas integrações de hospedagem não têm uma integração client correspondente. A configuração é o que faz a integração de hospedagem funcionar com a integração client.
Considere o diagrama a seguir que ilustra a relação entre as integrações de hospedagem e client:
O projeto de hospedagem do aplicativo é onde as integrações de hospedagem são utilizadas. A configuração, especificamente as 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 você adiciona uma integração client a um projeto em sua solução de .NET Aspire, os padrões de serviço são aplicados automaticamente a esse projeto: isso significa que o projeto dos Padrões de Serviço é 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 padrões de serviço são aplicados:
Observabilidade e Telemetria: configura automaticamente logs, rastreamentos e métricas.
- registro em log: uma técnica em que o código é instrumentado para produzir logs de eventos interessantes que ocorreram durante a execução do programa.
- rastreamento: uma forma especializada de registro em log que ajuda você a localizar falhas e problemas de desempenho em aplicativos distribuídos em vários computadores ou processos.
- Métricas: medidas numéricas registradas ao longo do tempo para monitorar o desempenho e a integridade do aplicativo. As métricas geralmente são usadas para gerar alertas quando possíveis problemas são detectados.
Verificações de integridade: expõe pontos de extremidade HTTP para fornecer informações básicas de disponibilidade e estado sobre um aplicativo. 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 à falha e ainda permanecer funcional. A resiliência vai além de evitar falhas para incluir a recuperação e a reconstrução de seu ambiente nativo de nuvem de volta a um estado íntegro.
Integrações oficiais
.NET .NET Aspire fornece muitas integrações para ajudá-lo a criar aplicativos nativos de nuvem. Essas integrações foram projetadas para funcionar perfeitamente com o host do aplicativo .NET Aspire e as bibliotecas client. As seções a seguir detalham as integrações agnósticas à nuvem, específicas para Azure, da Amazon Web Services (AWS) e do Kit de Ferramentas da Comunidade.
Integrações independentes de nuvem
A seção a seguir detalha as integrações .NET.NET Aspire agnósticas à nuvem, com links para suas respectivas documentações 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 - Hospedagem: 📦Aspire. .Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Uma biblioteca para produzir e consumir mensagens de um broker Apache Kafka. |
-
Saiba mais: 📄 Dapr - de hospedagem: 📦Aspire. Hospedagem.Dapr - Client: N/A |
Uma biblioteca para a modelagem de Dapr como um recurso de .NETe.NET Aspire. |
-
Saiba mais: 📄 Elasticsearch - de hospedagem: 📦Aspire. Hospedagem.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Uma biblioteca para acessar bancos de dados Elasticsearch. |
-
Saiba mais: 📄 Keycloak - Hospedagem: 📦Aspire. Hospedagem.Keycloak - Client: 📦Aspire.Keycloak. autenticação |
Uma biblioteca para acessar a autenticação Keycloak. |
-
Saiba mais: 📄 Milvus - de hospedagem: 📦Aspire. Hospedagem.Milvus - Client: 📦Aspire.Milvus.Client |
Uma biblioteca para acessar bancos de dados Milvus. |
-
Saiba mais: 📄MongoDB Driver - Hosting: 📦Aspire.Hosting.MongoDB - Client: 📦Aspire.MongoDB.Driver |
Uma biblioteca para acessar bancos de dados MongoDB. |
-
Saiba mais: 📄 MySqlConnector - Hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Uma biblioteca para acessar bancos de dados MySqlConnector. |
-
Saiba mais: 📄 NATS - de hospedagem: 📦Aspire. Hospedagem.Nats - Client: 📦Aspire.NATS.Net |
Uma biblioteca para acessar o sistema de mensagens NATS. |
-
Saiba mais: 📄Oracle – EF Core - Hospedagem: 📦Aspire. Hospedagem.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Uma biblioteca para acessar bancos de dados Oracle com Entity Framework Core. |
-
Saiba mais: 📄 Orleans - Hospedagem: 📦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 acessar bancos de dados MySql com Entity Framework Core. |
-
Saiba mais: 📄PostgreSQL – EF Core - de hospedagem: 📦Aspire.Hospedagem.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Uma biblioteca para acessar bancos de dados PostgreSQL usando Entity Framework Core. |
-
Saiba mais: 📄 PostgreSQL - Hospedagem: 📦Aspire.Hospedagem.PostgreSQL - Client: 📦Aspire. Npgsql |
Uma biblioteca para acessar bancos de dados PostgreSQL. |
-
Saiba mais: 📄 Qdrant - Hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Uma biblioteca para acessar bancos de dados do Qdrant. |
-
Saiba mais: 📄 RabbitMQ - de hospedagem: 📦Aspire. Hospedagem.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Uma biblioteca para acessar RabbitMQ. |
-
Saiba mais: 📄Redis Cache Distribuído - de hospedagem: 📦Aspire.Hospedagem.Redis, 📦Aspire.Hospedagem.Garnet, ou 📦Aspire.Hospedagem.Valkey - Client: 📦Aspire.StackExchange.Redis.DistributedCaching |
Uma biblioteca para acessar caches de Redis para armazenamento em cache distribuído de . |
-
Saiba mais: 📄Redis Cache de Saída - de hospedagem: 📦Aspire. Hospedagem.Redis, 📦Aspire. Hosting.Garnetou 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. OutputCaching |
Uma biblioteca para acessar caches Redis para o cache de saída. |
-
Saiba mais: 📄 Redis - de hospedagem: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, ou 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Uma biblioteca para acessar caches Redis. |
-
Saiba mais: 📄 Seq - Hosting: 📦Aspire.Hosting.Seq - Client: 📦Aspire.Seq |
Uma biblioteca para logar em Seq. |
-
Saiba mais: 📄SQL Server – EF Core - de hospedagem: 📦Aspire.Hospedagem.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Uma biblioteca para acessar bancos de dados SQL Server usando EF Core. |
-
Saiba mais: 📄 SQL Server - de hospedagem: 📦Aspire. Hospedagem.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Uma biblioteca para acessar bancos de dados SQL Server. |
Para obter mais informações sobre como trabalhar com integrações de .NET Aspire no Visual Studio, consulte as ferramentas Visual Studio.
integrações Azure
Azure integrações configuram aplicativos para usar Azure recursos. Essas integrações de hospedagem estão disponíveis no Aspire.Hosting.Azure.*
pacotes NuGet, enquanto suas integrações de client estão disponíveis nos pacotes NuGet Aspire.*
:
Documentos de integração e pacotes NuGet | Descrição |
---|---|
-
Saiba mais: 📄Configuração de AplicativoAzure - de hospedagem: 📦Aspire. Hospedagem.Azure. AppConfiguration - Client: N/A |
Uma biblioteca para interagir com a Configuração de Aplicativos Azure. |
-
Saiba mais: 📄 Azure Application Insights - de hospedagem: 📦Aspire. Hospedagem.Azure. ApplicationInsights - Client: N/A |
Uma biblioteca para interagir com Azure Application Insights. |
-
Saiba mais: 📄Azure Cosmos DB – EF Core - de hospedagem: 📦Aspire. Hospedagem.Azure. CosmosDB - Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos |
Uma biblioteca para acessar bancos de dados AzureAzure Cosmos DB usando Entity Framework Core. |
-
Saiba mais: 📄 Azure Cosmos DB - Hospedagem: 📦AspireAzure. CosmosDB - Client: 📦Aspire. Microsoft.Azure. Cosmos |
Uma biblioteca para acessar bancos de dados Azure Cosmos DB. |
-
Saiba mais: 📄 Azure Event Hubs - de hospedagem: 📦Aspire. Hospedagem.Azure. EventHubs - Client: 📦Aspire.Azure. Messaging.EventHubs |
Uma biblioteca para acessar Azure Event Hubs. |
-
Saiba mais: 📄Azure Functions - de hospedagem: 📦Aspire. Hospedagem.Azure. Funções - Client: N/A |
Uma biblioteca para integração com as Funções Azure. |
-
Saiba mais: 📄 Azure Key Vault - de hospedagem: 📦Aspire. Hospedagem.Azure. KeyVault - Client: 📦Aspire.Azure. Security.KeyVault |
Uma biblioteca para acessar Azure Key Vault. |
-
Saiba mais: 📄Azure Insights Operacionais - de hospedagem: 📦Aspire.Hospedagem.Azure.OperationalInsights - Client: N/A |
Uma biblioteca para interagir com o Azure Operational Insights. |
-
Saiba mais: 📄 Azure AI OpenAI - de hospedagem: 📦Aspire. Hospedagem.Azure. serviços cognitivos - Client: 📦Aspire.Azure. IA.OpenAI |
Uma biblioteca para acessar a funcionalidade Azure AI OpenAI ou OpenAI. |
-
Saiba mais: 📄 Azure PostgreSQL - Hosting: 📦Aspire. Hospedagem.Azure.PostgreSQL - Client: N/A |
Uma biblioteca para interagir com o Banco de Dados Azure para PostgreSQL. |
-
Saiba mais: 📄Azure pesquisa de IA - Hospedagem: 📦Aspire. Hospedagem.Azure. Buscar - Client: 📦Aspire.Azure. Search.Documents |
Uma biblioteca para acessar a funcionalidade de busca de IA Azure. |
-
Saiba mais: 📄 Azure Service Bus - de hospedagem: 📦Aspire. Hospedagem.Azure. do ServiceBus - Client: 📦Aspire.Azure. Messaging.ServiceBus |
Uma biblioteca para acessar Azure Service Bus. |
-
Saiba mais: 📄 Azure SignalR Service - Hosting: 📦Aspire. Hospedagem.Azure.SignalR - Client: Microsoft.Azure.SignalR |
Uma biblioteca para acessar Azure SignalR Service. |
-
Saiba mais: 📄 Azure Blob Storage - : Hospedagem 📦Aspire.Hospedagem.Azure.Armazenamento - Client: 📦Aspire.Azure.Storage.Blobs |
Uma biblioteca para acessar Azure Blob Storage. |
-
Saiba mais: 📄 Azure Storage Queues - de hospedagem: 📦Aspire. Hospedagem.Azure. de armazenamento - Client: 📦Aspire.Azure.Storage.Queues |
Uma biblioteca para acessar Azure Storage Queues. |
-
Saiba mais: 📄 Azure Table Storage - de hospedagem: 📦Aspire.Hospedagem.Azure.Armazenamento - Client: 📦Aspire.Azure. Tabelas de Dados |
Uma biblioteca para acessar o serviço da Tabela |
-
Saiba mais: 📄Azure Web PubSub - de hospedagem: 📦Aspire. Hospedagem.Azure. WebPubSub - Client: 📦Aspire.Azure. Messaging.WebPubSub |
Uma biblioteca para acessar o serviço Azure Web PubSub. |
Integrações de hospedagem do AWS (Amazon Web Services)
Documentos de integração e pacotes NuGet | Descrição |
---|---|
-
Saiba mais: 📄 Hospedagem AWS - de hospedagem: 📦Aspire. Hosting.AWS - Client: N/A |
Uma biblioteca para modelagem recursos do AWS. |
Para obter mais informações, consulte GitHub: Aspire. A biblioteca Hosting.AWS.
Integrações do Kit de Ferramentas da Comunidade
Nota
As integrações do Kit de Ferramentas da Comunidade são controladas pela comunidade e mantidas pela comunidade .NET.NET Aspire. Essas integrações não têm suporte oficial da equipe de .NET.NET Aspire.
Documentos de integração e pacotes NuGet | Descrição |
---|---|
-
Saiba mais: 📄Azure emulador de aplicativos Web estáticos - Hospedagem: 📦 CommunityToolkit.Aspire. Hospedagem.Azure. StaticWebApps - Client: N/A |
Uma integração de hospedagem para o emulador Azure Aplicativos Web Estáticos (Observação: isso não dá suporte à implantação de um projeto para Azure Aplicativos Web Estáticos). |
-
Saiba mais: 📄 Bun hospedagem - Hospedagem: 📦 CommunityToolkit.Aspire. .Hosting.Bun - Client: N/A |
Uma integração de hospedagem para aplicativos Bun. |
-
Saiba mais: 📄Deno hospedagem - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno - Client: N/A |
Uma integração de hospedagem para aplicativos Deno. |
-
Saiba mais: 📄 Hospedagem - de Hospedagem: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: N/A |
Uma integração de hospedagem para aplicativos Go. |
-
Saiba mais: 📄 Hospedagem de Java/Spring - de Hospedagem: 📦 CommunityToolkit.Aspire. Host.Java - Client: N/A |
Uma integração para executar o código Java no .NET.NET Aspire usando o JDK local ou usando um contêiner. |
-
Saiba mais: 📄Node.js extensões de hospedagem - Hospedagem: 📦 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 - de Hospedagem: 📦 CommunityToolkit.Aspire. Host.Ollama - Client: 📦Aspire. CommunitToolkit.OllamaSharp |
Um componente Aspire aproveitando o contêiner Ollama com suporte para baixar um modelo na inicialização. |
-
Saiba mais: 📄 hospedagem do Meilisearch - Hospedagem: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Um componente Aspire utilizando o contêiner Meilisearch. |
-
Saiba mais: 📄 hospedagem Rust - de Hospedagem: 📦 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 - Hospedagem: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects - Client: N/A |
Uma integração de hospedagem Aspire para projetos do Banco de Dados SQL. |
Para obter mais informações, consulte .NET.NET Aspire Community Toolkit.