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
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
, integration
e 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:
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
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.*
:
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.