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 le librerie client che si connettono alle risorse modellate dalle integrazioni di hosting e vengono definite integrazioni client .
Integrazioni di hosting
Le integrazioni di hosting configurano le applicazioni effettuando il provisioning di risorse (ad esempio contenitori o risorse cloud) o puntando a istanze esistenti, ad esempio un'istanza locale di SQL 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
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 le librerie client a inserimento delle dipendenze (DI), definiscono lo schema di configurazione e aggiungono controlli di integrità , resilienzae telemetria, se applicabile.
.NET
.NET Aspire librerie di integrazione client 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 client esistenti per connettersi alle integrazioni di hosting. Estendono l'interfaccia IHostApplicationBuilder consentendo ai progetti che utilizzano client, ad esempio l'app Web o l'API, di usare la risorsa connessa. I pacchetti NuGet ufficiali di integrazione client sono contrassegnati con aspire
, integration
e client
. Oltre alle integrazioni client ufficiali, la community ha creato integrazioni client per vari servizi e piattaforme come parte di Community Toolkit.
Per altre informazioni sulla creazione di un'integrazione client personalizzata, vedere Creare integrazioni client personalizzate .NET.NET Aspire.
Relazione tra l'hosting e le integrazioni client
L'hosting e le integrazioni client sono ottimali quando vengono 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 l'integrazione dell'hosting funzionante con l'integrazione client.
Si consideri il diagramma seguente che illustra la relazione tra l'hosting e le integrazioni client:
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 host.
Funzionalità di integrazione
Quando si aggiunge un'integrazione client a un progetto all'interno della soluzione
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: capacità del sistema di reagire agli errori e rimanere funzionanti. 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.
Considerazioni sul controllo delle versioni
Le integrazioni di hosting e client vengono aggiornate ogni versione in modo che siano destinate alle versioni stabili più recenti delle risorse dipendenti. Quando le immagini del contenitore vengono aggiornate con nuove versioni dell'immagine, le integrazioni di hosting vengono aggiornate a queste nuove versioni. Analogamente, quando è disponibile una nuova versione di NuGet per una libreria client dipendente, l'integrazione client corrispondente viene aggiornata alla nuova versione. Ciò garantisce che le funzionalità e gli aggiornamenti della sicurezza più recenti siano disponibili per le applicazioni.
Quando si verificano modifiche di rilievo importanti nelle risorse dipendenti, le integrazioni possono essere suddivise temporaneamente in pacchetti dipendenti dalla versione per facilitare l'aggiornamento durante la modifica che causa un'interruzione. Per altre informazioni, vedere il primo esempio di un tale cambiamento significativo.
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 e le librerie client .NET.NET Aspire. 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.Garneto 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Libreria per l'accesso alle cache Redis. |
-
Scopri 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 client sono disponibili nei pacchetti NuGet Aspire.*
:
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 |
-
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.