Übersicht über .NET.NET Aspire Integrationen
.NET Aspire-Integrationen sind eine kuratierte Auswahl von NuGet-Paketen, die ausgewählt wurden, um die Integration von Cloud-nativen Anwendungen mit prominenten Diensten und Plattformen wie Redis und PostgreSQLzu erleichtern. Jede Integration bietet wesentliche Cloud-native-Funktionen entweder über die automatische Bereitstellung oder durch standardisierte Konfigurationsmuster.
Tipp
Bemühen Sie sich immer, die neueste Version von .NET.NET Aspire Integrationen zu verwenden, um die neuesten Features, Verbesserungen und Sicherheitsupdates zu nutzen.
Integrationsaufgaben
Die meisten .NET.NET Aspire Integrationen bestehen aus zwei separaten Bibliotheken, die jeweils eine andere Verantwortung haben. Ein Typ stellt Ressourcen innerhalb des App-Host---Projekts dar, das als Hosting-Integrationenbekannt ist. Die andere Art der Integration stellt Clientbibliotheken dar, die eine Verbindung mit den Ressourcen herstellen, die von Hostingintegrationen modelliert werden, und sie werden als Clientintegrationenbezeichnet.
Hosting-Integrationen
Hosting-Integrationen konfigurieren Anwendungen, indem sie Ressourcen bereitstellen (wie Container oder Cloud-Ressourcen) oder auf vorhandene Instanzen verweisen (z. B. einen lokalen SQL Server). Diese Pakete modellieren verschiedene Dienste, Plattformen oder Funktionen, einschließlich Caches, Datenbanken, Protokollierung, Speicher und Messaging-Systeme.
Hosting-Integrationen erweitern die IDistributedApplicationBuilder-Schnittstelle und ermöglichen dem -App-Host-Projekt, Ressourcen innerhalb des -App-Modellsdarzustellen. Die offiziellen Hostingintegration NuGet-Pakete werden mit aspire
, integration
und hosting
markiert. Neben den offiziellen Hosting-Integrationen hat die Community auch Hosting-Integrationen für verschiedener Dienste und Plattformen im Rahmen des Community Toolkits erstellt.
Informationen zum Erstellen einer benutzerdefinierten Hosting-Integration finden Sie unter "Erstellen einer benutzerdefinierten .NET.NET Aspire Hosting-Integration".
Client Integrationen
Client Integrationen verbinden Clientbibliotheken mit Di-(Abhängigkeitseinfügung), definieren Konfigurationsschema und fügen Integritätsprüfungen, Resilienz-und ggf. Telemetrie hinzu.
.NET
.NET Aspire Integrations-Bibliotheken für Clients werden mit Aspire.
vorangestellt und enthalten dann den vollständigen Paketnamen, mit dem sie integriert sind, z. B. Aspire.StackExchange.Redis
.
Diese Pakete konfigurieren vorhandene Clientbibliotheken, um eine Verbindung mit Hostingintegrationen herzustellen. Sie erweitern die IHostApplicationBuilder Schnittstelle, mit der clientverwendige Projekte, z. B. Ihre Web-App oder API, die verbundene Ressource verwenden können. Die offiziellen Client-Integration NuGet-Pakete werden mit aspire
, integration
und client
markiert. Neben den offiziellen Clientintegrationen hat die Community Clientintegrationen für verschiedene Dienste und Plattformen im Rahmen des Community Toolkits erstellt.
Weitere Informationen zum Erstellen einer benutzerdefinierten Clientintegration finden Sie unter Erstellen von benutzerdefinierten .NET.NET Aspire Clientintegrationen.
Beziehung zwischen Hosting- und Clientintegrationen
Hosting- und Clientintegrationen eignen sich am besten für die gemeinsame Verwendung, sind aber nicht gekoppelt und können separat verwendet werden. Einige Hostingintegrationen verfügen nicht über eine entsprechende Clientintegration. Die Konfiguration macht die Hostingintegration mit der Clientintegration funktionsfähig.
Betrachten Sie das folgende Diagramm, das die Beziehung zwischen Hosting- und Clientintegrationen darstellt:
Das App-Hostprojekt ist der Ort, an dem Hostintegrationen verwendet werden. Die Konfiguration, insbesondere Umgebungsvariablen, wird in Projekte, ausführbare Dateien und Container eingefügt, sodass Clientintegrationen eine Verbindung mit den Hostingintegrationen herstellen können.
Integrationsfunktionen
Wenn Sie einem Projekt in Ihrer
Observability and telemetry: Richtet automatisch Protokollierungs-, Tracing- und Metrikkonfigurationen ein:
- Protokollierung: Eine Technik, bei der Code instrumentiert ist, um Protokolle interessanter Ereignisse zu erzeugen, die während der Ausführung des Programms aufgetreten sind.
- Ablaufverfolgung: Eine spezielle Form der Protokollierung, mit der Sie Fehler und Leistungsprobleme innerhalb von Anwendungen lokalisieren können, die auf mehrere Computer oder Prozesse verteilt sind.
- Metriken: Numerische Messungen, die im Laufe der Zeit aufgezeichnet werden, um die Leistung und den Zustand der Anwendung zu überwachen. Metriken werden häufig verwendet, um Warnungen zu generieren, wenn potenzielle Probleme erkannt werden.
Integritätsprüfungen: Macht HTTP-Endpunkte verfügbar, um grundlegende Verfügbarkeits- und Statusinformationen zu einer App bereitzustellen. Gesundheitschecks werden verwendet, um Entscheidungen zu beeinflussen, die von Container-Orchestratoren, Load-Balancern, API-Gateways und anderen Verwaltungsdiensten getroffen werden.
Resilienz: Die Fähigkeit Ihres Systems, auf Fehler zu reagieren und weiterhin funktionsfähig zu bleiben. Die Resilienz erstreckt sich über die Vermeidung von Fehlern hinaus und umfasst die Wiederherstellung und Rekonstruktion Ihrer cloud-native Umgebung, um sie in einen gesunden Zustand zurückzuversetzen.
Überlegungen zur Versionsverwaltung
Hosting- und Clientintegrationen werden jede Version aktualisiert, um auf die neuesten stabilen Versionen abhängiger Ressourcen zu abzielen. Wenn Containerimages mit neuen Imageversionen aktualisiert werden, werden die Hostintegrationen auf diese neuen Versionen aktualisiert. Wenn eine neue NuGet-Version für eine abhängige Clientbibliothek verfügbar ist, wird die entsprechende Clientintegration auf die neue Version aktualisiert. Dadurch wird sichergestellt, dass die neuesten Features und Sicherheitsupdates für Anwendungen verfügbar sind.
Wenn wichtige Änderungen in abhängigen Ressourcen auftreten, können Integrationen vorübergehend in versionsabhängige Pakete aufgeteilt werden, um die Aktualisierung über die grundlegende Änderung hinweg zu vereinfachen. Weitere Informationen finden Sie im ersten Beispiel für eine solche bahnbrechende Änderung.
Offizielle Integrationen
.NET .NET Aspire bietet viele Integrationen, mit denen Sie cloudeigene Anwendungen erstellen können. Diese Integrationen sind darauf ausgelegt, nahtlos mit dem .NET.NET Aspire App-Host und Clientbibliotheken zu arbeiten. In den folgenden Abschnitten werden cloudagnostische, Azure-spezifische, Amazon Web Services (AWS) und Community Toolkit-Integrationen beschrieben.
Cloudagnostische Integrationen
Im folgenden Abschnitt werden cloudagnostische .NET.NET Aspire Integrationen mit Links zu ihren jeweiligen Dokumenten und NuGet-Paketen beschrieben und eine kurze Beschreibung der einzelnen Integrationen bereitgestellt.
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Mehr erfahren: 📄 Apache Kafka - Hosting: 📦Aspire.Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Eine Bibliothek zum Erstellen und Verwenden von Nachrichten aus einem Apache Kafka Broker. |
-
Mehr erfahren: 📄 Dapr - Hosting: 📦Aspire. Hosting.Dapr - Client: N/A |
Eine Bibliothek zum Modellieren von Dapr als .NET.NET Aspire Ressource. |
-
Mehr erfahren: 📄 Elasticsearch - Hosting: 📦Aspire. Hosting.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Eine Bibliothek für den Zugriff auf Elasticsearch Datenbanken. |
-
Mehr erfahren: 📄 Keycloak - Hosting: 📦Aspire. Hosting.Keycloak - Client: 📦Aspire.Keycloak: Authentifizierungs- |
Eine Bibliothek für den Zugriff auf die Keycloak-Authentifizierung. |
-
Mehr erfahren: 📄 Milvus - Hosting: 📦Aspire. Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Eine Bibliothek für den Zugriff auf Milvus Datenbanken. |
-
Erfahren Sie mehr: 📄MongoDB Treiber - Hosting: 📦Aspire. Hosting.MongoDB - Client: 📦Aspire.MongoDB. Treiber |
Eine Bibliothek für den Zugriff auf MongoDB Datenbanken. |
-
Erfahren Sie mehr: 📄 MySqlConnector - Hosting: 📦Aspire. Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Eine Bibliothek für den Zugriff auf MySqlConnector Datenbanken. |
-
Mehr erfahren: 📄 NATS - Hosting: 📦Aspire. Hosting.Nats - Client: 📦Aspire.NATS.Net |
Eine Bibliothek für den Zugriff auf NATS Messaging. |
-
Erfahren Sie mehr: 📄Oracle - EF Core - Hosting: 📦Aspire. Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore- |
Eine Bibliothek zum Zugriff auf Oracle-Datenbanken mit Entity Framework Core. |
-
Mehr erfahren: 📄 Orleans - Hosting: 📦Aspire. Hosting.Orleans - Client: N/A |
Eine Bibliothek zum Modellieren von Orleans als .NET.NET Aspire Ressource. |
-
Erfahren Sie mehr: 📄 Pomelo MySQL - EF Core - Hosting: 📦Aspire. Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Eine Bibliothek zum Zugriff auf MySql-Datenbanken mit Entity Framework Core. |
-
Erfahren Sie mehr: 📄PostgreSQL - EF Core - Hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Eine Bibliothek für den Zugriff auf PostgreSQL Datenbanken mithilfe von Entity Framework Core. |
-
Mehr erfahren: 📄 PostgreSQL - Hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. Npgsql |
Eine Bibliothek für den Zugriff auf PostgreSQL Datenbanken. |
-
Erfahren Sie mehr: 📄 Qdrant - Hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Eine Bibliothek für den Zugriff auf Qdrant Datenbanken. |
-
Mehr erfahren: 📄 RabbitMQ - Hosting: 📦Aspire. Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Eine Bibliothek für den Zugriff auf RabbitMQ. |
-
Mehr erfahren: 📄Redis Verteiltes Caching - Hosting-: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. DistributedCaching- |
Eine Bibliothek für den Zugriff auf Redis Caches für verteilte Zwischenspeicherung. |
-
Erfahren Sie mehr: 📄Redis Ausgabezwischenspeicherung - Hosting-: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire.StackExchange.Redis.OutputCaching |
Eine Bibliothek für den Zugriff auf Redis-Caches für -Ausgabe-Cache. |
-
Mehr erfahren: 📄 Redis - Hosting-: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Eine Bibliothek für den Zugriff auf Redis Caches. |
-
Mehr erfahren: 📄 Seq - Hosting: 📦Aspire. Hosting.Seq - Client: 📦Aspire.Seq |
Eine Bibliothek zum Anmelden bei Seq. |
-
Erfahren Sie mehr: 📄SQL Server - EF Core - Hosting-: 📦Aspire. Hosting.SqlServer- - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Eine Bibliothek für den Zugriff auf SQL Server Datenbanken mithilfe von EF Core. |
-
Mehr erfahren: 📄 SQL Server - Hosting-: 📦Aspire. Hosting.SqlServer- - Client: 📦Aspire. Microsoft.Data.SqlClient- |
Eine Bibliothek für den Zugriff auf SQL Server Datenbanken. |
Weitere Informationen für die Nutzung von .NET Aspire-Integrationen in Visual Studiofinden Sie in Visual Studio-Werkzeuge.
Azure Integrationen
Azure Integrationen konfigurieren Anwendungen so, dass Azure Ressourcen verwendet werden. Diese Hostingintegrationen sind in den Aspire.Hosting.Azure.*
NuGet-Paketen verfügbar, während ihre Clientintegrationen in den Aspire.*
NuGet-Paketen verfügbar sind:
Amazon Web Services (AWS)-Hostingintegrationen
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Erfahren Sie mehr: 📄 AWS Hosting - Hosting: 📦Aspire.Hosting.AWS - Client: N/A |
Eine Bibliothek zum Modellieren AWS-Ressourcen. |
Weitere Informationen finden Sie unter GitHub: Aspire. Hosting.AWS-Bibliothek.
Integrationen des Community-Toolkits
Anmerkung
Die Community Toolkit-Integrationen werden von der .NET.NET Aspire Community gesteuert und verwaltet. Diese Integrationen werden vom .NET.NET Aspire Team nicht offiziell unterstützt.
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Mehr erfahren: 📄Azure Statische Web Apps Emulator - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps - Client: N/A |
Eine Hosting-Integration für den Azure Static Web Apps Emulator (Hinweis: Es unterstützt nicht die Bereitstellung eines Projekts für Azure Static Web Apps). |
-
Erfahren Sie mehr: 📄 Bun Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Bun - Client: N/A |
Eine Hosting-Integration für Bun-Apps. |
-
Erfahren Sie mehr: 📄Deno Hosting- - Hosting-: 📦 CommunityToolkit.Aspire. Hosting.Deno - Client: N/A |
Eine Hosting-Integration für Deno Apps. |
-
Mehr erfahren: 📄 Go Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Golang - Client: N/A |
Eine Hostingintegration für Go-Apps. |
-
Erfahren Sie mehr: 📄 Java/Spring Hosting-Dienst - Hosting-: 📦 CommunityToolkit.Aspire.Hosting.Java - Client: N/A |
Eine Integration zum Ausführen von Java-Code in .NET.NET Aspire entweder mithilfe des lokalen JDK oder mithilfe eines Containers. |
-
Mehr erfahren: 📄Node.js Erweiterungen für Hosting - Hosting-: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: N/A |
Eine Integration, die einige zusätzliche Erweiterungen für die Ausführung von Node.js Anwendungen enthält |
-
Erfahren Sie mehr: 📄 Ollama - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Eine Aspire Komponente, die den Ollama Container mit der Möglichkeit verwendet, ein Modell beim Start herunterzuladen. |
-
Mehr erfahren: 📄 Meilisearch Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Eine Aspire Komponente, die den Meilisearch Container nutzt. |
-
Erfahren Sie mehr: 📄 Rust Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Rust - Client: N/A |
Eine Hostingintegration für Rust-Apps. |
-
Mehr erfahren: 📄 Hosting von SQL-Datenbankprojekten - Hosting: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: N/A |
Eine Aspire Hostingintegration für SQL-Datenbankprojekte. |
Sie finden weitere Informationen unter .NET.NET Aspire Community Toolkit.