Dela via


översikt över .NET.NET Aspire-integreringar

.NET Aspire integreringar är en kuraterad uppsättning NuGet-paket som valts för att underlätta integreringen av molnbaserade program med framstående tjänster och plattformar, till exempel Redis och PostgreSQL. Varje integrering tillhandahåller viktiga molnbaserade funktioner genom antingen automatisk etablering eller standardiserade konfigurationsmönster.

Tips

Sträva alltid efter att använda den senaste versionen av .NET.NET Aspire-integreringar för att dra nytta av de senaste funktionerna, förbättringarna och säkerhetsuppdateringarna.

Integrationsansvar

De flesta .NET.NET Aspire integreringar består av två separata bibliotek, var och en med ett annat ansvar. En typ representerar resurser i appvärd projekt – kallas värd för integreringar. Den andra typen av integrering representerar klientbibliotek som ansluter till de resurser som modelleras av hosting-integreringar, och som kallas klientintegreringar.

Värd för integreringar

Värdintegrationer konfigurerar applikationer genom att etablera resurser (till exempel containrar eller molnresurser) eller peka på befintliga instanser (till exempel en lokal SQL-server). Dessa paket modellerar olika tjänster, plattformar eller funktioner, inklusive cacheminnen, databaser, loggning, lagring och meddelandesystem.

Värdintegrering utökar IDistributedApplicationBuilder-gränssnittet så att appvärd projekt kan uttrycka resurser i sin appmodell. De officiella som är värdar för integrering av NuGet-paket är taggade med aspire, integrationoch hosting. Förutom de officiella värdintegreringarna har community skapat värdintegreringar för olika tjänster och plattformar som en del av Community Toolkit.

Information om hur du skapar en anpassad värdintegrationfinns i Skapa anpassad .NET.NET Aspire värdintegration.

Client integreringar

Client integreringar kopplar klientbibliotek till beroendeinjektion (DI), definierar konfigurationsschema och lägger till hälsokontroller, resiliensoch telemetri där det är tillämpligt. .NET .NET Aspire klientintegreringsbibliotek är prefixade med Aspire. och inkluderar sedan det fullständiga paketnamnet som de integrerar med, till exempel Aspire.StackExchange.Redis.

Dessa paket konfigurerar befintliga klientbibliotek för att ansluta till värdintegreringar. De utökar IHostApplicationBuilder-gränssnittet så att klientanvändande projekt, till exempel webbappen eller API:et, kan använda den anslutna resursen. De officiella NuGet-paketen för -klientintegrering är märkta med aspire, integrationoch client. Förutom de officiella klientintegreringarna har community skapat klientintegreringar för olika tjänster och plattformar som en del av Community Toolkit.

Mer information om hur du skapar en anpassad klientintegrering finns i Skapa anpassade .NET.NET Aspire klientintegreringar.

Relation mellan värd- och klientintegreringar

Värd- och klientintegreringar är bäst när de används tillsammans, men är inte kopplade och kan användas separat. Vissa värdintegreringar har inte någon motsvarande klientintegrering. Konfigurationen gör att värdintegreringen fungerar med klientintegreringen.

Tänk på följande diagram som visar relationen mellan värd- och klientintegreringar:

Ett diagram

Appvärdprojektet används som värd för integreringar. Konfiguration, särskilt miljövariabler, matas in i projekt, körbara filer och containrar, vilket gör att klientintegreringar kan ansluta till värdintegreringarna.

Integreringsfunktioner

När du lägger till en klientintegrering i ett projekt i din .NET.NET Aspire lösning tillämpas tjänststandard automatiskt på projektet. vilket innebär att servicestandardprojektet refereras till och AddServiceDefaults-tilläggsmetoden anropas. Dessa standardvärden är utformade för att fungera bra i de flesta scenarier och kan anpassas efter behov. Följande tjänstinställningar tillämpas:

  • Observability and telemetry: Konfigurerar automatiskt konfigurationer för loggning, spårning och mått:

    • Loggning: En teknik där kod instrumenteras för att skapa loggar med intressanta händelser som inträffade när programmet kördes.
    • Spårning: En särskild typ av loggning som hjälper dig att lokalisera fel och prestandaproblem i program som distribueras över flera datorer eller processer.
    • Mått: Numeriska mätningar som registrerats över tid för att övervaka programmets prestanda och hälsa. Mått används ofta för att generera aviseringar när potentiella problem identifieras.
  • Hälsokontroller: Exponerar HTTP-slutpunkter för att tillhandahålla grundläggande tillgänglighets- och tillståndsinformation om en app. Hälsokontroller används för att påverka beslut som fattas av containerorkestrerare, lastbalanserare, API-gatewayer och andra hanteringstjänster.

  • Återhämtning: Systemets förmåga att reagera på fel och fortfarande fungera. Resiliens sträcker sig bortom att förhindra fel till att inkludera återställning och rekonstruktion av din molnnativa miljö till ett hälsosamt tillstånd.

Överväganden för versionshantering

Värd- och klientintegreringar uppdateras varje version för att rikta in sig på de senaste stabila versionerna av beroende resurser. När containeravbildningar uppdateras med nya avbildningsversioner uppdateras värdintegreringarna till dessa nya versioner. På samma sätt, när en ny NuGet-version är tillgänglig för ett beroende klientbibliotek, uppdateras motsvarande klientintegrering till den nya versionen. Detta säkerställer att de senaste funktionerna och säkerhetsuppdateringarna är tillgängliga för program.

När större icke-bakåtkompatibla ändringar sker i beroende resurser kan integreringar tillfälligt delas upp i versionsberoende paket för att underlätta uppdatering av den icke-bakåtkompatibla ändringen. För mer information, se första exemplet på en sådan störande ändring.

Officiella integreringar

.NET .NET Aspire innehåller många integreringar som hjälper dig att skapa molnbaserade program. Dessa integreringar är utformade för att fungera sömlöst med .NET.NET Aspire värdprogram och klientbibliotek. I följande avsnitt beskrivs molnagnostiska, Azure-specific, Amazon Web Services (AWS) och Community Toolkit-integreringar.

Molnagnostiska integrationer

Följande avsnitt beskriver molnagnostiska .NET.NET Aspire integreringar med länkar till respektive dokument och NuGet-paket, och innehåller en kort beskrivning av varje integrering.

Integreringsdokument och NuGet-paket Beskrivning
- Läs mer: 📄 Apache Kafka
- Hosting: 📦Aspire. Hosting.Kafka
- Client: 📦Aspire. Confluent.Kafka
Ett bibliotek för att producera och konsumera meddelanden från en Apache Kafka broker.
- Läs mer: 📄 Dapr
- Hosting: 📦Aspire.Hosting.Dapr
- Client: N/A
Ett bibliotek för modellering Dapr som en .NET.NET Aspire resurs.
- Läs mer: 📄 Elasticsearch
- Hosting: 📦Aspire.Hosting.Elasticsearch
- Client: 📦Aspire. Elastic.Clients.Elasticsearch
Ett bibliotek för åtkomst till Elasticsearch databaser.
- Läs mer: 📄 Keycloak
- Hosting: 📦Aspire.Hosting.Keycloak
- Client: 📦Aspire.Keycloak. Autentisering
Ett bibliotek för åtkomst till Keycloak autentisering.
- Läs mer: 📄 Milvus
- Hosting: 📦Aspire.Hosting.Milvus
- Client: 📦Aspire.Milvus.Client
Ett bibliotek för åtkomst till Milvus databaser.
- Läs mer: 📄MongoDB Driver
- Hosting: 📦Aspire.Hosting.MongoDB
- Client: 📦Aspire.MongoDB. Drivrutin
Ett bibliotek för åtkomst till MongoDB databaser.
- Läs mer: 📄 MySqlConnector
- Hosting: 📦Aspire.Hosting.MySql
- Client: 📦Aspire. MySqlConnector
Ett bibliotek för åtkomst till MySqlConnector- databaser.
- Läs mer: 📄 NATS
- Hosting: 📦Aspire.Hosting.Nats
- Client: 📦Aspire.NATS.Net
Ett bibliotek för att komma åt NATS meddelanden.
- Läs mer: 📄Oracle – EF Core
- Hosting: 📦Aspire.Hosting.Oracle
- Client: 📦Aspire.Oracle. EntityFrameworkCore
Ett bibliotek för att komma åt Oracle-databaser med Entity Framework Core.
- Läs mer: 📄 Orleans
- Hosting: 📦Aspire.Hosting.Orleans
- Client: N/A
Ett bibliotek för modellering Orleans som en .NET.NET Aspire resurs.
- Läs mer: 📄 Pomelo MySQL – EF Core
- Hosting: 📦Aspire. Hosting.MySql
- Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql
Ett bibliotek för åtkomst till MySql-databaser med Entity Framework Core.
- Läs mer: 📄PostgreSQL – EF Core
- Hosting: 📦Aspire.Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL
Ett bibliotek för att komma åt PostgreSQL databaser med hjälp av Entity Framework Core.
- Läs mer: 📄 PostgreSQL
- Hosting: 📦Aspire.Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql
Ett bibliotek för åtkomst till PostgreSQL databaser.
- Läs mer: 📄 Qdrant
- Hosting: 📦Aspire. Hosting.Qdrant
- Client: 📦Aspire. Qdrant.Client
Ett bibliotek för åtkomst till Qdrant- databaser.
- Läs mer: 📄 RabbitMQ
- Hosting: 📦Aspire.Hosting.RabbitMQ
- Client: 📦Aspire.RabbitMQ.Client
Ett bibliotek för att komma åt RabbitMQ.
- Läs mer: 📄Redis distribuerad cachelagring
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. Distribuerad cachelagring
Ett bibliotek för åtkomst till Redis cacheminnen för distribuerad cachelagring.
- Läs mer: 📄Redis Cachelagring av utdata
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. OutputCaching
Ett bibliotek för åtkomst till Redis cacheminnen för cachelagring av utdata.
- Läs mer: 📄 Redis
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis
Ett bibliotek för åtkomst till Redis cacheminnen.
- Läs mer: 📄 Seq
- Hosting: 📦Aspire.Hosting.Seq
- Client: 📦Aspire.Seq
Ett bibliotek för loggning till Seq.
- Läs mer: 📄SQL Server – EF Core
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer
Ett bibliotek för att komma åt SQL Server databaser med hjälp av EF Core.
- Läs mer: 📄 SQL Server
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.Data.SqlClient
Ett bibliotek för åtkomst till SQL Server databaser.

Mer information om hur du arbetar med .NET Aspire-integreringar i Visual Studiofinns i Visual Studio verktyg.

Azure integreringar

Azure-integreringar konfigurerar program att använda Azure resurser. Dessa värdintegreringar är tillgängliga i Aspire.Hosting.Azure.* NuGet-paket, medan deras klientintegreringar är tillgängliga i Aspire.* NuGet-paket:

Integreringsdokument och NuGet-paket Beskrivning
- Läs mer: 📄Azure Appkonfiguration
- Hosting: 📦Aspire. Hosting.Azure. AppConfiguration
- Client: N/A
Ett bibliotek för att interagera med Azure App Configuration.
- Läs mer: 📄 Azure Application Insights
- Hosting: 📦Aspire. Värdtjänst.Azure. ApplicationInsights
- Client: N/A
Ett bibliotek för att interagera med Azure Application Insights.
- Läs mer: 📄Azure Cosmos DB – EF Core
- Hosting: 📦Aspire.Hosting.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos
Ett bibliotek för åtkomst till AzureAzure Cosmos DB databaser med Entity Framework Core.
- Läs mer: 📄 Azure Cosmos DB
- Hosting: 📦Aspire.Hosting.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.Azure. Cosmos
Ett bibliotek för åtkomst till Azure Cosmos DB databaser.
- Läs mer: 📄 Azure Event Hubs
- Hosting: 📦Aspire.Hosting.Azure. EventHubs
- Client: 📦Aspire.Azure. Messaging.EventHubs
Ett bibliotek för att komma åt Azure Event Hubs.
- Läs mer: 📄Azure Funktioner
- Hosting: 📦Aspire.Hosting.Azure. Funktioner
- Client: N/A
Ett bibliotek för att integrera med Azure Functions.
- Läs mer: 📄 Azure Key Vault
- Hosting: 📦Aspire. Hosting.Azure. KeyVault
- Client: 📦Aspire.Azure. Security.KeyVault
Ett bibliotek för att komma åt Azure Key Vault.
- Läs mer: 📄Azure Operational Insights
- Hosting: 📦Aspire.Hosting.Azure.OperationalInsights
- Client: N/A
Ett bibliotek för att interagera med Azure Operational Insights.
- Läs mer: 📄 Azure AI OpenAI
- Hosting: 📦Aspire.Hosting.Azure.CognitiveServices
- Client: 📦Aspire.Azure. Artificiell intelligens.OpenAI
Ett bibliotek för åtkomst till Azure AI OpenAI eller OpenAI funktioner.
- Läs mer: 📄 Azure PostgreSQL
- Hosting: 📦Aspire. Hosting.Azure.PostgreSQL
- Client: N/A
Ett bibliotek för att interagera med Azure Databas för PostgreSQL.
- Läs mer: 📄Azure AI Search
- Hosting: 📦Aspire. Hosting.Azure. Sök
- Client: 📦Aspire.Azure. Sök.Dokument
Ett bibliotek för åtkomst till Azure AI-sökfunktionalitet.
- Läs mer: 📄 Azure Service Bus
- Hosting: 📦Aspire. Hosting.Azure. ServiceBus
- Client: 📦Aspire.Azure. Messaging.ServiceBus
Ett bibliotek för att komma åt Azure Service Bus.
- Läs mer: 📄 Azure SignalR Service
- Hosting: 📦Aspire. Hosting.Azure.SignalR
- Client: Microsoft.Azure.SignalR
Ett bibliotek för att komma åt Azure SignalR Service.
- Läs mer: 📄 Azure Blob Storage
- Hosting: 📦Aspire. Gästfrihet.Azure. Lagring
- Client: 📦Aspire.Azure. Storage.Blobs
Ett bibliotek för att komma åt Azure Blob Storage.
- Läs mer: 📄 Azure Storage Queues
- Hosting: 📦Aspire. Gästfrihet.Azure. Lagring
- Client: 📦Aspire.Azure. Storage.Queues
Ett bibliotek för att komma åt Azure Storage Queues.
- Läs mer: 📄 Azure Table Storage
- Hosting: 📦Aspire. Gästfrihet.Azure. Lagring
- Client: 📦Aspire.Azure. Data.Tables
Ett bibliotek för åtkomst till Azure Table-tjänsten.
- Läs mer: 📄Azure Web PubSub
- Hosting: 📦Aspire. Hosting.Azure. WebPubSub
- Client: 📦Aspire.Azure. Messaging.WebPubSub
Ett bibliotek för åtkomst till tjänsten Azure Web PubSub.

Amazon Web Services (AWS) värdintegrationer

Integreringsdokument och NuGet-paket Beskrivning
- Läs mer: 📄 AWS Hosting
- Hosting: 📦Aspire. Hosting.AWS
- Client: N/A
Ett bibliotek för modellering AWS-resurser.

Mer information finns i GitHub: Aspire. Hosting.AWS-bibliotek.

Community Toolkit-integreringar

Not

Community Toolkit-integreringarna är communitydrivna och underhålls av den .NET.NET Aspire communityn. Dessa integreringar stöds inte officiellt av .NET.NET Aspire-teamet.

Integreringsdokument och NuGet-paket Beskrivning
- Läs mer: 📄Azure Static Web Apps-emulatorn
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps
- Client: N/A
En värdintegrering för Azure Static Web Apps-emulatorn (Obs! Detta stöder inte distribution av ett projekt till Azure Static Web Apps).
- Läs mer: 📄 Bun som värd för
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Bun
- Client: N/A
En värdintegrering för Bun-appar.
- Läs mer: 📄Deno värd för
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno
- Client: N/A
En värdintegrering för Deno appar.
- Läs mer: 📄 Go som värd för
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang
- Client: N/A
En värdintegrering för Go-appar.
- Läs mer: 📄 Java/Spring-hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Java
- Client: N/A
En integrering för att köra Java-kod i .NET.NET Aspire antingen med hjälp av den lokala JDK:t eller med hjälp av en container.
- Läs mer: 📄Node.js värdtillägg
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions
- Client: N/A
En integrering som innehåller några ytterligare tillägg för att köra Node.js program
- Läs mer: 📄 Ollama
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama
- Client: 📦Aspire.CommunitToolkit.OllamaSharp
En Aspire komponent som utnyttjar containern Ollama med stöd för att ladda ned en modell vid start.
- Läs mer: 📄 Meilisearch som värd för
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch
- Client: 📦Aspire. CommunitToolkit.Meilisearch
En Aspire komponent som utnyttjar containern Meilisearch.
- Läs mer: 📄 Rust som värd för
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Rust
- Client: N/A
En värdintegrering för Rust-appar.
- Läs mer: 📄 SQL Database-projekt som är värdar för
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects
- Client: N/A
En Aspire värdintegrering för SQL Database Projects.

Mer information finns i .NET.NET Aspire Community Toolkit.