Omówienie integracji .NET.NET Aspire
.NET Aspire integracje to zestaw wyselekcjonowanych pakietów NuGet przeznaczonych do ułatwienia integracji aplikacji natywnych dla chmury z czołowymi usługami i platformami, takimi jak Redis i PostgreSQL. Każda integracja zapewnia podstawowe funkcje natywne dla chmury za pomocą automatycznych wzorców aprowizacji lub standardowych konfiguracji.
Napiwek
Zawsze staraj się korzystać z najnowszej wersji integracji .NET.NET Aspire, aby korzystać z najnowszych funkcji, ulepszeń i aktualizacji zabezpieczeń.
Obowiązki związane z integracją
Większość integracji .NET.NET Aspire składa się z dwóch oddzielnych bibliotek, z których każda ponosi inną odpowiedzialność. Jeden typ reprezentuje zasoby w projekcie hosta aplikacji
Integracje hostingu
Integracje hostingu konfigurują aplikacje poprzez aprovisionowanie zasobów (takich jak kontenery lub zasoby w chmurze) lub wskazanie istniejących instancji (takich jak lokalna baza danych SQL server). Te pakiety modelują różne usługi, platformy lub funkcje, w tym pamięć podręczną, bazy danych, logowanie, przechowywanie i systemy obsługi komunikatów.
Integracje hostingu rozszerzają interfejs IDistributedApplicationBuilder, umożliwiając hostowi aplikacji dla projektu wyrażanie zasobów w ramach modelu aplikacji . Oficjalne hostowanie pakietów NuGet integracji są oznaczone aspire
, integration
i hosting
. Oprócz oficjalnych integracji hostingu społeczność stworzyła integracje hostingowe dla różnych usług i platform w ramach zestawu narzędzi Community Toolkit.
Aby uzyskać informacje na temat tworzenia niestandardowej integracji hostingu , zobacz Utwórz niestandardową integrację hostingu .NET.NET Aspire.
Client integracje
Client integracje podłącza biblioteki client w celu wstrzykiwania zależności (DI), definiowania schematu konfiguracji i dodawania kontroli kondycji , odpornościi telemetrii tam, gdzie ma to zastosowanie.
.NET Aspire
client biblioteki integracji są poprzedzone Aspire.
, a następnie zawierają pełną nazwę pakietu, z którą integrują się, na przykład Aspire.StackExchange.Redis
.
Te pakiety konfigurują istniejące biblioteki client do połączenia z integracjami hostingu. Rozszerzają interfejs IHostApplicationBuilder, umożliwiając projektom, które zużywają client, takim jak aplikacja internetowa lub interfejs API, używanie połączonego zasobu. Oficjalne pakiety NuGet integracji client są oznaczone tagiem aspire
, integration
i client
. Oprócz oficjalnych integracji client społeczność stworzyła client integracje dla różnych usług i platform w ramach zestawu narzędzi Community Toolkit.
Aby uzyskać więcej informacji na temat tworzenia niestandardowej integracji client, zobacz Create custom .NET Aspireclient integrations (Tworzenie niestandardowych integracji .NET Aspireclient).
Relacja między hostingem a integracją client
Integracje hostingu i client najlepiej używać razem, ale nie są połączone i mogą być używane oddzielnie. Niektóre integracje hostingu nie mają odpowiadającej integracji client. Konfiguracja sprawia, że integracja hostingu współdziała z integracją client.
Rozważmy następujący diagram przedstawiający relację między hostingem a integracją client:
Projekt hosta aplikacji to miejsce, w którym są używane integracje hostingu. Konfiguracja, w szczególności zmienne środowiskowe, jest wstrzykiwana do projektów, plików wykonywalnych i kontenerów, co pozwala client integracji na łączenie się z integracją hostingu.
Funkcje integracji
Po dodaniu integracji client do projektu w ramach rozwiązania .NET Aspire ustawienia domyślne usługi są automatycznie stosowane do tego projektu; oznacza, że odwołuje się do projektu Service Defaults i wywoływana jest metoda rozszerzenia AddServiceDefaults
. Te wartości domyślne są zaprojektowane tak, aby działały dobrze w większości scenariuszy i można je dostosować zgodnie z potrzebami. Stosowane są następujące wartości domyślne usługi:
Obserwowalność i telemetrię: automatycznie ustawia konfiguracje rejestrowania, śledzenia i metryk:
- Rejestrowanie: technika, w której kod jest przygotowywany, aby umożliwiać tworzenie dzienników interesujących zdarzeń, które wystąpiły podczas działania programu.
- śledzenie: wyspecjalizowana forma rejestrowania, która ułatwia lokalizowanie błędów i problemów z wydajnością w aplikacjach rozproszonych na wielu maszynach lub procesach.
- Metrics: Pomiary liczbowe rejestrowane w czasie w celu monitorowania wydajności i kondycji aplikacji. Metryki są często używane do generowania alertów w przypadku wykrycia potencjalnych problemów.
Sprawdzanie kondycji: uwidacznia punkty końcowe HTTP w celu zapewnienia podstawowej dostępności i informacji o stanie aplikacji. Kontrole kondycji służą do wywierania wpływu na decyzje podejmowane przez koordynatorów kontenerów, moduły równoważenia obciążenia, bramy interfejsu API i inne usługi zarządzania.
odporność: zdolność systemu do react awarii i nadal pozostaje funkcjonalna. Odporność wykracza poza zapobieganie awariom, aby uwzględnić odzyskiwanie i odtworzenie środowiska natywnego dla chmury z powrotem do stanu dobrej kondycji.
Oficjalne integracje
.NET .NET Aspire zapewnia wiele integracji, które ułatwiają tworzenie aplikacji natywnych dla chmury. Te integracje są zaprojektowane tak, aby bezproblemowo współdziałały z hostem aplikacji .NET Aspire i bibliotekami client. W poniższych sekcjach opisano niezależne od chmury, Azurespecyficzne dla platformy Amazon Web Services (AWS) i integracje zestawu narzędzi Community Toolkit.
Integracje niezależne od chmury
W poniższej sekcji szczegółowo omówiono niezależne od chmury .NET.NET Aspire integracje z linkami do odpowiednich pakietów docs i NuGet oraz krótki opis każdej integracji.
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄 Apache Kafka - Hosting: 📦Aspire.Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Biblioteka do generowania i używania komunikatów od brokera Apache Kafka. |
-
Dowiedz się więcej: 📄 Dapr - hosting: 📦Aspire.Hosting.Dapr - Client: Nie dotyczy |
Biblioteka do tworzenia modelu Dapr jako zasobu .NET.NET Aspire. |
-
Dowiedz się więcej: 📄 Elasticsearch - hosting: 📦Aspire. Hosting.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Biblioteka do uzyskiwania dostępu do Elasticsearch baz danych. |
-
Dowiedz się więcej: 📄 Keycloak - hosting: 📦Aspire.Hosting.Keycloak - Client: 📦Aspire.Keycloak. Uwierzytelnianie |
Biblioteka do uzyskiwania dostępu do uwierzytelniania Keycloak. |
-
Dowiedz się więcej: 📄 Milvus - hosting: 📦Aspire.Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Biblioteka do uzyskiwania dostępu do Milvus baz danych. |
-
Dowiedz się więcej: 📄MongoDB Driver - hosting: 📦Aspire. Hosting.MongoDB - Client: 📦Aspire.MongoDB.Driver |
Biblioteka do uzyskiwania dostępu do MongoDB baz danych. |
-
Dowiedz się więcej: 📄 MySqlConnector - hosting: 📦Aspire. Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Biblioteka służąca do uzyskiwania dostępu do baz danych MySqlConnector. |
-
Dowiedz się więcej: 📄 NATS - hosting: 📦Aspire. Gościnność.Nats - Client: 📦Aspire.NATS.Net |
Biblioteka do uzyskiwania dostępu do komunikatów NATS. |
-
Dowiedz się więcej: 📄Oracle — EF Core - hosting: 📦Aspire. Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Biblioteka do uzyskiwania dostępu do baz danych Oracle przy użyciu Entity Framework Core. |
-
Dowiedz się więcej: 📄 Orleans - hosting: 📦Aspire.Hosting.Orleans - Client: Nie dotyczy |
Biblioteka służąca modelowaniu Orleans jako zasób .NET.NET Aspire. |
-
Dowiedz się więcej: 📄MySQL Pomelo — EF Core - hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Biblioteka do uzyskiwania dostępu do baz danych MySql przy użyciu Entity Framework Core. |
-
Dowiedz się więcej: 📄PostgreSQL — EF Core - hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Biblioteka do uzyskiwania dostępu do baz danych PostgreSQL przy użyciu Entity Framework Core. |
-
Dowiedz się więcej: 📄 PostgreSQL - hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. npgsql |
Biblioteka do uzyskiwania dostępu do PostgreSQL baz danych. |
-
Dowiedz się więcej: 📄 Qdrant - hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Biblioteka do uzyskiwania dostępu do baz danych Qdrant. |
-
Dowiedz się więcej: 📄 RabbitMQ - hosting: 📦Aspire.Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Biblioteka umożliwiająca dostęp do RabbitMQ. |
-
Dowiedz się więcej: 📄Redis rozproszone buforowanie - hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire.StackExchange.Redis.RozproszonaPamięćPodręczna |
Biblioteka umożliwiająca dostęp do cache Redis na potrzeby buforowania rozproszonego . |
-
Dowiedz się więcej: buforowanie danych wyjściowych 📄Redis - hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. OutputCaching |
Biblioteka do uzyskiwania dostępu do pamięci podręcznych Redis na potrzeby buforowania danych wyjściowych . |
-
Dowiedz się więcej: 📄 Redis - Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Biblioteka do uzyskiwania dostępu do pamięci podręcznych Redis. |
-
Dowiedz się więcej: 📄 Seq - hosting: 📦Aspire. Hosting .Seq - Client: 📦Aspire.Seq |
Biblioteka do logowania do Seq. |
-
Dowiedz się więcej: 📄SQL Server — EF Core - hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Biblioteka do uzyskiwania dostępu do baz danych SQL Server przy użyciu EF Core. |
-
Dowiedz się więcej: 📄 SQL Server - hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Biblioteka do uzyskiwania dostępu do SQL Server baz danych. |
Aby uzyskać więcej informacji na temat pracy z integracjami .NET Aspire w Visual Studio, zobacz narzędzia Visual Studio.
Azure integracje
Azure integracje konfigurują aplikacje do korzystania z zasobów Azure. Te integracje hostingu są dostępne w pakietach NuGet Aspire.Hosting.Azure.*
, podczas gdy ich integracje client są dostępne w pakietach NuGet Aspire.*
:
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄Azure Konfiguracja aplikacji - hosting: 📦Aspire.Hosting.Azure.AppConfiguration - Client: Nie dotyczy |
Biblioteka do interakcji z usługą Azure App Configuration. |
-
Dowiedz się więcej: 📄 Azure Application Insights - Hosting: 📦Aspire.Hosting.Azure.ApplicationInsights - Client: Nie dotyczy |
Biblioteka do interakcji z Azure Application Insights. |
-
Dowiedz się więcej: 📄Azure Cosmos DB — EF Core - hosting: 📦Aspire. Hosting.Azure.CosmosDB - Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos |
Biblioteka do uzyskiwania dostępu do baz danych AzureAzure Cosmos DB za pomocą Entity Framework Core. |
-
Dowiedz się więcej: 📄 Azure Cosmos DB - hosting: 📦Aspire.Hosting.Azure. usługi CosmosDB - Client: 📦Aspire. Microsoft.Azure. Usługa Cosmos |
Biblioteka do uzyskiwania dostępu do Azure Cosmos DB baz danych. |
-
Dowiedz się więcej: 📄 Azure Event Hubs - hosting: 📦Aspire. Hosting.Azure. EventHubs - Client: 📦Aspire.Azure. Messaging.EventHubs |
Biblioteka umożliwiająca dostęp do Azure Event Hubs. |
-
Dowiedz się więcej: 📄Azure Functions - hosting: 📦Aspire. Hosting.Azure. Funkcje - Client: Nie dotyczy |
Biblioteka do integracji z funkcjami Azure. |
-
Dowiedz się więcej: 📄 Azure Key Vault - Hosting: 📦Aspire. Hosting.Azure. KeyVault - Client: 📦Aspire.Azure. Security.KeyVault |
Biblioteka umożliwiająca dostęp do Azure Key Vault. |
-
Dowiedz się więcej: 📄Azure Operational Insights - Hosting: 📦Aspire.Hosting.Azure.OperationalInsights - Client: Nie dotyczy |
Biblioteka umożliwiająca interakcję z Azure Operational Insights. |
-
Dowiedz się więcej: 📄 Azure AI OpenAI - hosting: 📦Aspire.Hosting.Azure.CognitiveServices - Client: 📦Aspire.Azure. AI.OpenAI |
Biblioteka do uzyskiwania dostępu do funkcji Azure AI OpenAI lub OpenAI. |
-
Dowiedz się więcej: 📄 Azure PostgreSQL - hosting: 📦Aspire.Hosting.Azure.PostgreSQL - Client: Nie dotyczy |
Biblioteka do interakcji z bazą danych Azure dla PostgreSQL. |
-
Dowiedz się więcej: 📄Azure wyszukiwanie sztucznej inteligencji - hosting: 📦Aspire. Hosting.Azure. wyszukiwanie - Client: 📦Aspire.Azure. Search.Documents |
Biblioteka umożliwiająca dostęp do funkcji wyszukiwania sztucznej inteligencji Azure. |
-
Dowiedz się więcej: 📄 Azure Service Bus - hosting: 📦Aspire.Hosting.Azure.ServiceBus - Client: 📦Aspire.Azure. Messaging.ServiceBus |
Biblioteka do uzyskiwania dostępu do Azure Service Bus. |
-
Dowiedz się więcej: 📄 Azure SignalR Service - hosting: 📦Aspire. Hosting.Azure.SignalR - Client: Microsoft.Azure.SignalR |
Biblioteka umożliwiająca dostęp do Azure SignalR Service. |
-
Dowiedz się więcej: 📄 Azure Blob Storage - hosting: 📦Aspire. Hosting.Azure. przechowywanie - Client: 📦Aspire.Azure. Storage.Blobs |
Biblioteka umożliwiająca dostęp do Azure Blob Storage. |
-
Dowiedz się więcej: 📄 Azure Storage Queues - hosting: 📦Aspire.Hosting.Azure. magazynu - Client: 📦Aspire.Azure.Storage.Queues |
Biblioteka umożliwiająca dostęp do Azure Storage Queues. |
-
Dowiedz się więcej: 📄 Azure Table Storage - hosting: 📦Aspire. Hosting.Azure. magazynu - Client: 📦Aspire.Azure. Dane.Tabele |
Biblioteka służąca do uzyskiwania dostępu do usługi Table Azure. |
-
Dowiedz się więcej: 📄Azure Web PubSub - hosting: 📦Aspire.Hosting.Azure.WebPubSub Messaging.WebPubSub - Client: 📦Aspire.Azure. |
Biblioteka umożliwiająca dostęp do usługi Azure Web PubSub. |
Integracje hostingu usług Amazon Web Services (AWS)
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄 Hosting AWS - hosting: 📦Aspire. Hosting.AWS - Client: Nie dotyczy |
Biblioteka do modelowania zasobów platformy AWS. |
Aby uzyskać więcej informacji, zobacz GitHub: Aspire. Biblioteka Hosting.AWS.
Integracje z zestawem narzędzi Community Toolkit
Notatka
Integracja zestawu narzędzi Community Toolkit jest oparta na społeczności i utrzymywana przez społeczność .NET.NET Aspire. Te integracje nie są oficjalnie obsługiwane przez zespół .NET.NET Aspire.
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄Azure emulator Static Web Apps - hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure. StaticWebApps - Client: Nie dotyczy |
Integracja hostingu dla emulatora Azure Static Web Apps (Uwaga: nie obsługuje wdrożenia projektu do Azure Static Web Apps). |
-
Dowiedz się więcej: 📄 Bun hosting - hosting: 📦 CommunityToolkit.Aspire.Hosting.Bun - Client: Nie dotyczy |
Integracja hostingu dla aplikacji bun. |
-
Dowiedz się więcej: 📄Deno hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Deno - Client: Nie dotyczy |
Integracja hostingu dla aplikacji Deno. |
-
Dowiedz się więcej: 📄 Go hosting - hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: Nie dotyczy |
Integracja hostingu dla aplikacji języka Go. |
-
dowiedz się więcej: 📄 hosting Java/Spring - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Java - Client: Nie dotyczy |
Integracja uruchamiania kodu Java w .NET.NET Aspire przy użyciu lokalnego zestawu JDK lub kontenera. |
-
Dowiedz się więcej: 📄Node.js rozszerzenia hostingu - hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: Nie dotyczy |
Integracja zawierająca kilka dodatkowych rozszerzeń do uruchamiania aplikacji Node.js |
-
dowiedz się więcej: 📄 Ollama - hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Składnik Aspire korzystający z kontenera Ollama z możliwością pobrania modelu podczas uruchamiania. |
-
Dowiedz się więcej: 📄 hosting Meilisearch - hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire.CommunitToolkit.Meilisearch |
Składnik Aspire wykorzystujący kontener Meilisearch. |
-
Dowiedz się więcej: hosting Rust📄 - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Rust - Client: Nie dotyczy |
Integracja hostingu dla aplikacji Rust. |
-
Dowiedz się więcej: 📄 hostowanie projektów bazy danych SQL - Hosting: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: Nie dotyczy |
Integracja hostingu Aspire dla projektów baz danych SQL. |
Aby uzyskać więcej informacji, zobacz .NET.NET Aspire Community Toolkit.