Condividi tramite


Panoramica delle integrazioni di .NET.NET Aspire

Le integrazioni di .NET Aspire sono una suite curata di pacchetti NuGet selezionati per facilitare l'integrazione di applicazioni native al cloud con servizi e piattaforme importanti, ad esempio Redis e PostgreSQL. Ogni integrazione fornisce funzionalità essenziali nate per il cloud tramite provisioning automatico o modelli di configurazione standardizzati.

Consiglio

Cercare sempre di usare la versione più recente delle integrazioni di .NET.NET Aspire per sfruttare le funzionalità, i miglioramenti e gli aggiornamenti della sicurezza più recenti.

Responsabilità di integrazione

La maggior parte delle integrazioni .NET.NET Aspire è costituita da due librerie separate, ognuna con una responsabilità diversa. Un tipo rappresenta le risorse all'interno dell'app host del progetto, noto come integrazioni di hosting. L'altro tipo di integrazione rappresenta librerie client che si connettono alle risorse modellate dalle integrazioni ospitanti e sono conosciute come integrazioni client.

Integrazioni di hosting

Le integrazioni di hosting configurano le applicazioni fornendo risorse (ad esempio contenitori o risorse cloud) o puntando a istanze esistenti, ad esempio un'istanza di SQL locale server. Questi pacchetti modellano vari servizi, piattaforme o funzionalità, tra cui cache, database, registrazione, archiviazione e sistemi di messaggistica.

Le integrazioni di hosting estendono l'interfaccia IDistributedApplicationBuilder, consentendo al progetto host dell'app di esprimere le risorse all'interno del modello di app . I pacchetti NuGet di integrazione dell'hosting ufficiali vengono contrassegnati con , e . Oltre alle integrazioni di hosting ufficiali, la community ha creato integrazioni di hosting per vari servizi e piattaforme come parte di Community Toolkit.

Per informazioni sulla creazione di un personalizzato di integrazione dell'hosting, vedere Creare .NET.NET Aspire'integrazione dell'hosting personalizzata.

integrazioni di Client

Client le integrazioni collegano librerie client a di inserimento delle dipendenze , definire lo schema di configurazione e aggiungere controlli di integrità , resilienzae telemetria, se applicabile. .NET Aspire client librerie di integrazione sono precedute da Aspire. e quindi includono il nome completo del pacchetto con cui si integrano, ad esempio Aspire.StackExchange.Redis.

Questi pacchetti configurano le librerie di client esistenti per connettersi alle integrazioni di hosting. Estendono l'interfaccia IHostApplicationBuilder consentendo ai progetti che consumano client, come la tua app web o API, di utilizzare la risorsa connessa. I pacchetti NuGet di integrazione client ufficiali sono contrassegnati con aspire, integratione client. Oltre alle integrazioni ufficiali di client, la community ha creato client integrazioni per vari servizi e piattaforme come parte di Community Toolkit.

Per altre informazioni sulla creazione di un'integrazione di client personalizzata, vedere Creare integrazioni di .NET Aspireclient personalizzate.

Relazione tra l'hosting e le integrazioni di client

Le integrazioni di hosting e client sono ottimali se usate insieme, ma sono non accoppiate e possono essere usate separatamente. Alcune integrazioni di hosting non hanno un'integrazione client corrispondente. La configurazione è ciò che rende possibile l'integrazione dell'hosting funzionare con l'integrazione client.

Si consideri il diagramma seguente che illustra la relazione tra l'hosting e le integrazioni client:

Diagramma

Il progetto dell'app host è dove vengono utilizzate le integrazioni di hosting. La configurazione, in particolare le variabili di ambiente, viene inserita in progetti, eseguibili e contenitori, consentendo alle integrazioni client di connettersi alle integrazioni ospitanti.

Funzionalità di integrazione

Quando si aggiunge un'integrazione a un progetto all'interno della soluzione , le impostazioni predefinite del servizio vengono applicate automaticamente a tale progetto; viene fatto riferimento al progetto Service Defaults e viene chiamato il metodo di estensione . Queste impostazioni predefinite sono progettate per funzionare correttamente nella maggior parte degli scenari e possono essere personalizzate in base alle esigenze. Vengono applicate le seguenti impostazioni predefinite del servizio:

  • Osservabilità e telemetria: configura automaticamente il logging, il tracing e le metriche:

    • log: tecnica in cui il codice viene strumentato per produrre log di eventi interessanti che si sono verificati durante l'esecuzione del programma.
    • Tracciamento: una forma specializzata di tracciamento che aiuta a localizzare errori e problemi di prestazioni all'interno delle applicazioni distribuite su più macchine o processi.
    • Metriche: misurazioni numeriche registrate nel tempo per monitorare le prestazioni e lo stato dell'applicazione. Le metriche vengono spesso usate per generare avvisi quando vengono rilevati potenziali problemi.
  • controlli di integrità: espone gli endpoint HTTP per fornire informazioni di base sulla disponibilità e sullo stato di un'app. I controlli di integrità vengono usati per influenzare le decisioni prese da agenti di orchestrazione dei contenitori, servizi di bilanciamento del carico, gateway API e altri servizi di gestione.

  • resilienza: la capacità del sistema di react di non riuscire e rimanere funzionante. La resilienza va oltre la semplice prevenzione degli errori, includendo anche il ripristino e la ricostruzione dell'ambiente cloud-native per riportarlo a uno stato integro.

Integrazioni ufficiali

.NET .NET Aspire offre molte integrazioni che consentono di creare applicazioni native del cloud. Queste integrazioni sono progettate per funzionare perfettamente con l'host dell'app .NET Aspire e le librerie di client. Le sezioni seguenti illustrano in dettaglio le integrazioni indipendenti dal cloud, specifiche per Azure, Amazon Web Services (AWS) e Community Toolkit.

Integrazioni indipendenti dal cloud

La sezione seguente illustra in dettaglio le integrazioni di .NET.NET Aspire indipendenti dal cloud con collegamenti ai rispettivi pacchetti Docs e NuGet e fornisce una breve descrizione di ogni integrazione.

Documentazione di integrazione e pacchetti NuGet Descrizione
- Scopri di più: 📄 Apache Kafka
- Hosting: 📦Aspire. Hosting.Kafka
- Client: 📦Aspire. Confluent.Kafka
Libreria per la creazione e il consumo di messaggi da un broker Apache Kafka.
- Scopri di più: 📄 Dapr
- Hosting: 📦Aspire. Hosting.Dapr
- Client: N/D
Una libreria per modellare Dapr come risorsa .NET.NET Aspire.
- Scopri di più: 📄 Elasticsearch
- Hosting: 📦Aspire.Hosting.Elasticsearch
- Client: 📦Aspire. Elastic.Clients.Elasticsearch
Libreria per l'accesso ai database Elasticsearch.
- Scopri di più: 📄 Keycloak
- Hosting: 📦Aspire. Hosting.Keycloak
- Client: 📦Aspire.Keycloak. Autenticazione
Libreria per l'accesso all'autenticazione Keycloak.
- Scopri di più: 📄 Milvus
- Hosting: 📦Aspire.Hosting.Milvus
- Client: 📦Aspire.Milvus.Client
Libreria per l'accesso ai database Milvus.
- Scopri di più: 📄MongoDB Driver
- Hosting: 📦Aspire. Hosting.MongoDB
- Client: 📦Aspire.MongoDB. Autista
Libreria per l'accesso ai database MongoDB.
- Scopri di più: 📄 MySqlConnector
- Hosting: 📦Aspire.Hosting.MySql
- Client: 📦Aspire. MySqlConnector
Una libreria per l'accesso a database MySqlConnector.
- Scopri di più: 📄 NATS
- Hosting: 📦Aspire.Hosting.Nats
- Client: 📦Aspire.NATS.Net
Una libreria per accedere alla messaggistica NATS.
- Scopri di più: 📄Oracle - EF Core
- Hosting: 📦Aspire.Hosting.Oracle
- Client: 📦Aspire.Oracle.EntityFrameworkCore
Una libreria per l'accesso ai database Oracle con Entity Framework Core.
- Scopri di più: 📄 Orleans
- Hosting: 📦Aspire. Hosting.Orleans
- Client: N/D
Una libreria per modellare Orleans come risorsa .NET.NET Aspire.
- Scopri di più: 📄 Pomelo MySQL - EF Core
- Hosting: 📦Aspire.Hosting.MySql
- Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql
Una libreria per l'accesso ai database MySql con Entity Framework Core.
- Scopri di più: 📄PostgreSQL - EF Core
- Hosting: 📦Aspire.Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL
Libreria per l'accesso ai database di PostgreSQL tramite Entity Framework Core.
- Scopri di più: 📄 PostgreSQL
- Hosting: 📦Aspire.Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql
Libreria per l'accesso ai database PostgreSQL.
- Altre: 📄 Qdrant
- Hosting: 📦Aspire. Hosting.Qdrant
- Client: 📦Aspire. Qdrant.Client
Libreria per l'accesso ai database di Qdrant.
- Scopri di più: 📄 RabbitMQ
- Hosting: 📦Aspire.Hosting.RabbitMQ
- Client: 📦Aspire.RabbitMQ.Client
Libreria per l'accesso a RabbitMQ.
- Scopri di più: 📄Redis Memorizzazione nella cache distribuita
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneto 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. DistributedCaching
Libreria per l'accesso alle cache di Redis per memorizzazione nella cache distribuita.
- Scopri di più: 📄Redis Cache di output
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneto 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. OutputCaching
Una libreria per accedere alle cache di Redis per il caching di output .
- Scopri di più: 📄 Redis
- Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, o 📦Aspire.Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis
Libreria per l'accesso alle cache Redis.
- Per saperne di più: 📄 Seq
- Hosting: 📦Aspire.Hosting.Seq
- Client: 📦Aspire.Seq
Libreria per la registrazione su Seq.
- Scopri di più: 📄SQL Server - EF Core
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer
Libreria per accedere ai database di SQL Server utilizzando EF Core.
- Scopri di più: 📄 SQL Server
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.Data.SqlClient
Libreria per l'accesso ai database SQL Server.

Per altre informazioni sull'uso delle integrazioni di .NET Aspire in Visual Studio, vedere strumenti Visual Studio.

integrazioni di Azure

Le integrazioni Azure configurano le applicazioni per utilizzare le risorse Azure. Queste integrazioni di hosting sono disponibili nei pacchetti NuGet Aspire.Hosting.Azure.*, mentre le integrazioni di client sono disponibili nei pacchetti NuGet Aspire.*:

Documentazione di integrazione e pacchetti NuGet Descrizione
- Per saperne di più: 📄Azure Configurazione App
- Hosting: 📦Aspire.Hosting.Azure.AppConfiguration
- Client: N/D
Libreria per interagire con Azure Configurazione App.
- Scopri di più: 📄 Azure Application Insights
- Hosting: 📦Aspire.Hosting.Azure.ApplicationInsights
- Client: N/A
Libreria per interagire con Azure Application Insights.
- Scopri di più: 📄Azure Cosmos DB - EF Core
- Hosting: 📦Aspire.Hosting.Azure.CosmosDB
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos
Una libreria per accedere ai database di AzureAzure Cosmos DB usando Entity Framework Core.
- Scopri di più: 📄 Azure Cosmos DB
- Hosting: 📦Aspire.Hosting.Azure.CosmosDB
- Client: 📦Aspire. Microsoft.Azure. Cosmos
Libreria per l'accesso ai database Azure Cosmos DB.
- Scopri di più: 📄 Azure Event Hubs
- Hosting: 📦Aspire.Hosting.Azure.EventHubs
- Client: 📦Aspire.Azure. Messaging.EventHubs
Libreria per l'accesso a Azure Event Hubs.
- Scopri di più: 📄Azure Funzioni
- Hosting: 📦Aspire.Hosting.Azure.Funzioni
- Client: N/D
Libreria per l'integrazione con le funzioni Azure.
- Scopri di più: 📄 Azure Key Vault
- Hosting: 📦Aspire.Hosting.Azure. KeyVault
- Client: 📦Aspire.Azure. Security.KeyVault
Libreria per l'accesso a Azure Key Vault.
- Scopri di più: 📄Azure Approfondimenti operativi
- Hosting: 📦Aspire.Hosting.Azure.OperationalInsights
- Client: N/D
Libreria per interagire con Azure Approfondimenti Operativi.
- Scopri di più: 📄 Azure AI OpenAI
- Hosting: 📦Aspire.Hosting.Azure.CognitiveServices
- Client: 📦Aspire.Azure. Intelligenza artificiale.OpenAI
Libreria per l'accesso alle funzionalità di Azure AI OpenAI o OpenAI.
- Scopri di più: 📄 Azure PostgreSQL
- Hosting: 📦Aspire.Hosting.Azure.PostgreSQL
- Client: N/D
Libreria per l'interazione con Azure Database per PostgreSQL.
- Scopri di più: 📄Azure Ricerca di Intelligenza Artificiale
- Hosting: 📦Aspire.Hosting.Azure.Ricerca
- Client: 📦Aspire.Azure. Cerca.Documenti
Libreria per l'accesso alla funzionalità di ricerca di intelligenza artificiale Azure.
- Scopri di più: 📄 Azure Service Bus
- Hosting: 📦Aspire.Hosting.Azure. ServiceBus
- Client: 📦Aspire.Azure. Messaging.ServiceBus
Libreria per l'accesso a Azure Service Bus.
- Scopri di più: 📄 Azure SignalR Service
- Hosting: 📦Aspire.Hosting.Azure.SignalR
- Client: Microsoft.Azure.SignalR
Libreria per l'accesso a Azure SignalR Service.
- Scopri di più: 📄 Azure Blob Storage
- Hosting: 📦Aspire.Hosting.Azure. Archiviazione
- Client: 📦Aspire.Azure. Storage.Blobs
Libreria per l'accesso a Azure Blob Storage.
- Scopri di più: 📄 Azure Storage Queues
- Hosting: 📦Aspire. Hosting.Azure. Storage
- Client: 📦Aspire.Azure.Storage.Queues
Libreria per l'accesso a Azure Storage Queues.
- Scopri di più: 📄 Azure Table Storage
- Hosting: 📦Aspire.Hosting.Azure. Archiviazione
- Client: 📦Aspire.Azure. Data.Tables
Una libreria per accedere al servizio Azure Table.
- Ulteriori informazioni: 📄Azure Web PubSub
- Hosting: 📦Aspire.Hosting.Azure. WebPubSub
- Client: 📦Aspire.Azure. Messaging.WebPubSub
La libreria per l'accesso al servizio Web PubSub Azure.

Integrazioni di hosting di Amazon Web Services (AWS)

Documentazione di integrazione e pacchetti NuGet Descrizione
- Scopri di più: 📄 hosting AWS
- Hosting: 📦Aspire.Hosting.AWS
- Client: N/D
Libreria per la modellazione risorse AWS.

Per ulteriori informazioni, vedere GitHub: Aspire. Libreria di Hosting AWS.

Integrazioni di Community Toolkit

Nota

Le integrazioni di Community Toolkit sono guidate dalla community e gestite dalla community .NET.NET Aspire. Queste integrazioni non sono ufficialmente supportate dal team .NET.NET Aspire.

Documentazione di integrazione e pacchetti NuGet Descrizione
- Scopri di più: 📄Azure emulatore per app Web statiche
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Azure. StaticWebApps
- Client: N/D
Integrazione dell'hosting per l'emulatore di App Web Statiche Azure (Nota: questo non supporta la distribuzione di un progetto nelle App Web Statiche Azure).
- Ulteriori informazioni: 📄 Bun hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Bun
- Client: N/D
Integrazione di hosting per le app Bun.
- Scopri di più: 📄Deno hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno
- Client: N/D
Un'integrazione di hosting per le app di Deno.
- Scopri di più: 📄 Vai a hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang
- Client: N/D
Integrazione hosting per applicazioni Go.
- Scopri di più: 📄 hosting Java/Spring
- Hosting: 📦 CommunityToolkitAspire.Hosting.Java
- Client: N/D
Integrazione per l'esecuzione di codice Java in .NET.NET Aspire tramite JDK locale o usando un contenitore.
- Scopri di più: 📄Node.js estensioni di hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions
- Client: N/D
Integrazione che contiene alcune estensioni aggiuntive per l'esecuzione di applicazioni Node.js
- Scopri di più: 📄 Ollama
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama
- Client: 📦Aspire. CommunitToolkit.OllamaSharp
Componente che sfrutta il contenitore Ollama con supporto per il download di un modello all'avvio.
- Scopri di più: 📄 hosting Meilisearch
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch
- Client: 📦Aspire. CommunitToolkit.Meilisearch
Un componente Aspire che sfrutta il contenitore Meilisearch.
- Scopri di più: 📄 hosting Rust
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Rust
- Client: N/D
Integrazione di hosting per le app Rust.
- Ulteriori informazioni: 📄 ospitalità di progetti di database SQL
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects
- Client: N/D
Un'integrazione di hosting Aspire per progetti di database SQL.

Per altre informazioni, vedere .NET.NET Aspire Community Toolkit.