Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aspire integrace jsou kurátorovaná sada balíčků NuGet vybraných pro usnadnění integrace aplikací nativních pro cloud s významnými službami a platformami, jako jsou Redis a PostgreSQL. Každá integrace poskytuje základní funkce nativní pro cloud prostřednictvím automatického zřizování nebo standardizovaných vzorů konfigurace.
Spropitné
Vždy se snažte používat nejnovější verzi Aspire integrací, abyste mohli využívat nejnovější funkce, vylepšení a aktualizace zabezpečení.
Výstraha
Integrace spouštějí kód ve vašem vývojovém prostředí. Před použitím se ujistěte, že integrace třetích stran jsou důvěryhodné. Další informace najdete v tématu Osvědčené postupy pro zabezpečený softwarový dodavatelský řetězec.
Odpovědnosti za integraci
Většina Aspire integrací se skládá ze dvou samostatných knihoven, z nichž každá má jinou odpovědnost. Jeden typ představuje prostředky v rámci projektu AppHost – označované jako integrace hostování. Druhý typ integrace představuje klientské knihovny, které se připojují k prostředkům modelovaným pomocí hostujících integrací a označují se jako klientské integrace.
Hostování integrací
Konfigurace hostingových integrací aplikací zahrnuje zřizování prostředků, jako jsou kontejnery nebo cloudové zdroje, či odkazování na existující instance, například místního SQL serveru. Tyto balíčky modelují různé služby, platformy nebo možnosti, včetně mezipamětí, databází, protokolování, úložiště a systémů zasílání zpráv.
Integrace hostování rozšiřují IDistributedApplicationBuilder rozhraní a umožňují projektu AppHost vyjádřit prostředky v rámci modelu aplikace. Hostování integrací funguje s jakýmkoli typem aplikace, nejen s aplikacemi typu .NET. Poskytují infrastrukturu a vkládat podrobnosti o konfiguraci (například připojovací řetězce, koncové body a přihlašovací údaje) jako proměnné prostředí do libovolného projektu, spustitelného souboru nebo kontejneru, který je odkazuje.
Oficiální balíčky NuGet pro integraci hostování jsou označené , aspire, a integration. Kromě oficiálních integrací hostingu vytvořila komunita integrační řešení hostingu pro různé služby a platformy jako součást Community Toolkit.
Informace o vytvoření vlastní integrace hostování najdete v tématu Vytvoření vlastní Aspire integrace hostování.
integrace Client
Integrace Client integrují klientské knihovny s injektáží závislostí (DI), definují schéma konfigurace a přidávají kontroly stavu, odolnost a telemetrii, pokud je to možné.
Aspire knihovny integrace klienta mají předponu Aspire. a pak obsahují úplný název balíčku, se kterým se integrují, například Aspire.StackExchange.Redis.
Tyto balíčky konfigurují existující klientské knihovny pro připojení k integracím pro hosting. Rozšiřují IHostApplicationBuilder rozhraní, které umožňuje klientským projektům, jako je webová aplikace nebo rozhraní API, používat připojený prostředek. Oficiální balíčky NuGet integrace klienta jsou označené aspire, integrationa client. Kromě oficiální integrace klientů vytvořila komunita integrace klientů pro různé služby a platformy jako součást komunitní sady nástrojů.
Důležité
Aspire integrace vyžadují IHostApplicationBuilder a nejsou kompatibilní s HostingStartup implementacemi, které poskytují pouze přístup k IWebHostBuilder. Pokud používáte HostingStartup pro modulární konfiguraci, viz HostingStartup není podporován s Aspire integracemi pro pokyny k migraci.
Další informace o vytvoření vlastní integrace klienta najdete v tématu Vytvoření vlastních Aspire integrací klientů.
Vztah mezi hostováním a integrací klientů
Integrace hostování a klientů jsou nejlepší při společném použití, ale nejsou propojené a je možné je použít samostatně. Některé integrace hostování nemají odpovídající integraci klienta. Konfigurace znamená, že integrace hostování funguje s integrací klienta.
Client integrace jsou .NETspecifické a poskytují pohodlné a názorné způsoby konfigurace .NET aplikací. Ale můžete použít integrace hostování bez integrace klientů pro ne-.NETaplikace nebo, pokud dáváte přednost, ruční konfiguraci připojení. V těchto scénářích integrace hostování stále poskytuje infrastrukturu a zveřejňuje informace o připojení prostřednictvím proměnných prostředí, které můžou využívat libovolná technologie aplikace.
Představte si následující diagram, který znázorňuje vztah mezi integrací hostování a klientů:
Projekt AppHost je místo, kde se používají integrace hostování. Konfigurace, konkrétně proměnné prostředí, se vloží do projektů, spustitelných souborů a kontejnerů, což umožňuje integraci klientů připojit se k hostitelským integracím.
Integrace funkce
Když do projektu v rámci řešení Aspire přidáte integraci klienta, automaticky se na tento projekt použijí výchozí hodnoty služby. To znamená, že je odkazováno na projekt Výchozí nastavení služby a je volána metoda rozšíření AddServiceDefaults. Tato výchozí nastavení jsou navržená tak, aby dobře fungovala ve většině scénářů a je možné je podle potřeby přizpůsobit. Použijí se následující výchozí hodnoty služby:
pozorovatelnost a telemetrie: Automaticky nastavuje konfigurace protokolování, sledování a měření:
- protokolování: Technika, kde je kód instrumentován k vytváření protokolů zajímavých událostí, ke kterým došlo při spuštění programu.
- trasování: Specializovaná forma záznamu, která pomáhá lokalizovat chyby a problémy s výkonem v aplikacích distribuovaných napříč více počítači nebo procesy.
- Metriky: Číselné míry zaznamenané v průběhu času za účelem monitorování výkonu a stavu aplikace. Metriky se často používají k generování výstrah při zjištění potenciálních problémů.
Kontroly stavu: Zpřístupňuje HTTP koncové body, aby poskytly základní informace o dostupnosti a stavu aplikace. Kontroly stavu se používají k ovlivnění rozhodnutí provedených orchestrátory kontejnerů, nástroji pro vyrovnávání zatížení, branami rozhraní API a dalšími službami pro správu.
odolnost: Schopnost systému reagovat na selhání a zůstat funkční. Odolnost se rozšiřuje nad rámec prevence selhání, aby zahrnovala obnovení a rekonstrukci nativního prostředí cloudu zpět do stavu, který je v pořádku.
Pochopit metody rozšíření integrace hostitele
Aspire integrace hostování poskytují rozšiřující metody, které začínají buď na Add nebo na With. Tyto metody odpovídají následujícímu vzoru:
-
Add*metody:Add*metody vytvářejí a registrují nové prostředky v AppHost a vracíIResourceBuilder<TResource>, kdeTResourceje konkrétní typ přidaného prostředku. Díky tomu můžete pokračovat ve snadné konfiguraci ve vráceném sestavovači. Volání například AddAzureServiceBus vrátí hodnotuIResourceBuilder<AzureServiceBusResource>a potom volání AddServiceBusQueue na tomto tvůrci oboru názvů vrátí hodnotuIResourceBuilder<AzureServiceBusQueueResource>. Tento vzor modeluje vztahy mezi rodičem a dítětem (například obor názvů služby Service Bus a jeho fronty nebo témata) a zachovává konzistentní API pro tvorbu fluentního rozhraní. -
With*metody: PoužijteWith*metody ke konfiguraci nebo vylepšení existujícího prostředku. Tyto metody obvykle vrací stejný typ objektu jako nadřazený objekt, což umožňuje řetězit další volání konfigurace.
Důležité
Při použití Add metod nezapomeňte předat do integrace klienta správný objekt prostředku. Předání nesprávného objektu může vést k chybným nakonfigurovaným připojením nebo chybám za běhu.
Vezměte v úvahu tento kód:
var serviceBus = builder.AddAzureServiceBus(name: "serviceBus")
.AddServiceBusTopic(name: "messagetopic");
var apiService = builder.AddProject<Projects.servicebusexp_ApiService>("apiservice")
.WithHttpHealthCheck("/health")
.WithReference(serviceBus);
// The serviceBus is an IResourceBuilder<AzureServiceBusTopicResource> type
Můžete očekávat, že serviceBus označuje prostředek Azure Service Bus , ale ve skutečnosti, protože jste na stejném řádku volali AddServiceBusTopic, je serviceBus zdrojem tématu Azure Service Bus. Pokud se chcete tomuto výsledku vyhnout, vyvolejte AddServiceBusTopic na samostatný řádek.
var serviceBus = builder.AddAzureServiceBus(name: "serviceBus");
var topic = serviceBus.AddServiceBusTopic(name: "messagetopic");
var apiService = builder.AddProject<Projects.servicebusexp_ApiService>("apiservice")
.WithHttpHealthCheck("/health")
.WithReference(serviceBus);
// The serviceBus is an IResourceBuilder<AzureServiceBusResource> type
Nyní se můžete rozhodnout předat zdroj, který projekt potřebuje. Buď jako v příkladu prostředek služby Service Bus, anebo prostředek tématu.
Toto rozlišení pomáhá modelovat infrastrukturu aplikace přesně a zajišťuje, aby integrace klientů dostávala správné informace o připojení.
Aspekty správy verzí
Jednotlivé verze hostování a integrace klientů se aktualizují tak, aby cílily na nejnovější stabilní verze závislých prostředků. Při aktualizaci obrazů kontejnerů na nové verze se hostovací integrace aktualizují na tyto nové verze. Podobně platí, že pokud je pro závislou klientskou knihovnu k dispozici nová verze NuGet, aktualizuje se odpovídající integrace klienta na novou verzi. Tím zajistíte dostupnost nejnovějších funkcí a aktualizací zabezpečení pro aplikace. Typ Aspire aktualizace (hlavní, menší, oprava) nemusí nutně odpovídat typu aktualizace v závislých prostředcích. Například nová hlavní verze závislého prostředku může být v případě potřeby aktualizována ve vydání oprav Aspire.
Pokud dojde k zásadním změnám v závislých prostředcích, integrace se můžou dočasně rozdělit do balíčků závislých na verzi, aby se usnadnila aktualizace v rámci zásadní změny. Další informace najdete v prvním příkladu takové zásadní změny .
Oficiální integrace
Aspire poskytuje řadu integrací, které vám pomůžou sestavovat aplikace nativní pro cloud. Tyto integrace jsou navržené tak, aby bez problémů fungovaly s AppHost a klientskými Aspire knihovnami. V následujících částech najdete podrobnosti o integracích nezávislých na cloudu, specifických pro Azure, Amazon Web Services (AWS) a Community Toolkit.
Integrace nezávislé na cloudu
V následující části najdete podrobnosti o na cloudu nezávislých integracích Aspire s odkazy na jejich odpovídající dokumenty a balíčky NuGet a stručný popis jednotlivých integrací.
| Dokumentace k integraci a balíčky NuGet | Popis |
|---|---|
|
-
Další informace: 📄 Apache Kafka - Hosting: 📦Aspire. Hosting.Kafka - Client: 📦Aspire. . Confluent.Kafka |
Knihovna pro vytváření a využívání zpráv z Apache Kafka brokeru. |
|
-
Další informace: 📄 Dapr - Hosting: 📦Aspire. Hostování.Dapr - Client: není k dispozici |
Knihovna pro modelování Dapr jako zdroj Aspire. |
|
-
Další informace: 📄 Docker - Hosting: 📦Aspire. Hostování.Docker - Client: není k dispozici |
Knihovna pro nasazování aplikací Aspire pomocí Compose Docker. |
|
-
Další informace: 📄 Elasticsearch - Hosting: 📦Aspire. Hostování.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Knihovna pro přístup k databázím Elasticsearch. |
|
-
Další informace: 📄 Keycloak - Hosting: 📦Aspire. Hostování.Keycloak - Client: 📦Aspire.Keycloak. Autentizace ověřování |
Knihovna pro přístup k autentizaci Keycloak. |
|
-
Další informace: 📄 Milvus - Hosting: 📦Aspire. Hostování.Milvus - Client: 📦Aspire.Milvus.Client |
Knihovna pro přístup k databázím Milvus. |
|
-
Další informace: 📄MongoDB ovladač - Hosting: 📦Aspire. Hostování.MongoDB - Client: 📦Aspire.MongoDB. Ovladač |
Knihovna pro přístup k databázím MongoDB. |
|
-
Další informace: 📄 MySqlConnector - Hostování: 📦Aspire.Hosting.MySql - Client: 📦Aspire. . MySqlConnector |
Knihovna pro přístup k databázím MySqlConnector. |
|
-
Další informace: 📄 NATS - Hostování: 📦Aspire.Hosting.Nats - Client: 📦Aspire.NATS. Síť |
Knihovna pro přístup k zasílání zpráv NATS. |
|
-
Zjistit více: 📄Oracle – EF Core - Hosting: 📦Aspire. Hostování.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Knihovna pro přístup k databázím Oracle pomocí Entity Framework Core. |
|
-
Další informace: 📄 OpenAI - Hosting: 📦Aspire. Hostování.OpenAI - Client: 📦Aspire. .OpenAI |
Knihovna pro přístup k OpenAI rozhraním API. |
|
-
Další informace: 📄 Orleans - Hosting: 📦Aspire. Hostování.Orleans - Client: není k dispozici |
Knihovna pro modelování Orleans jako zdroj Aspire. |
|
-
Další informace: 📄MySQL Pomelo – EF Core - Hostování: 📦Aspire.Hosting.MySql - Client: 📦Aspire. . Pomelo.EntityFrameworkCore.MySql |
Knihovna pro přístup k databázím MySQL pomocí Entity Framework Core. |
|
-
Zjistit více: 📄PostgreSQL – EF Core - Hosting: 📦Aspire. Hostování.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Knihovna pro přístup k databázím PostgreSQL pomocí Entity Framework Core. |
|
-
Další informace: 📄 PostgreSQL - Hosting: 📦Aspire. Hostování.PostgreSQL - Client: 📦Aspire. Npgsql |
Knihovna pro přístup k databázím PostgreSQL. |
|
-
Další informace: 📄 Qdrant - Hostování: 📦Aspire.Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Knihovna pro přístup k databázím Qdrant. |
|
-
Další informace: 📄 RabbitMQ - Hosting: 📦Aspire. Hostování.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Knihovna pro přístup k RabbitMQ. |
|
-
Další informace: 📄Redis distribuované ukládání do mezipaměti - Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, nebo 📦Aspire.Hosting.Valkey |
Knihovna pro přístup k mezipaměti Redis pro distribuované ukládání. |
|
-
Další informace: 📄Redis ukládání výstupu do mezipaměti - Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, nebo 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. VýstupníCaching |
Knihovna pro přístup k mezipamětem Redis pro ukládání výstupu do mezipamětí. |
|
-
Další informace: 📄 Redis - Hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnet, nebo 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Knihovna pro přístup k Redis cache. |
|
-
Další informace: 📄 Seq - Hosting: 📦Aspire. Hostování.Seq - Client: 📦Aspire. .Seq |
Knihovna pro protokolování na Seq. |
|
-
Zjistit více: 📄SQL Server – EF Core - Hostování: 📦Aspire. Hosting.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Knihovna pro přístup k databázím SQL Server pomocí EF Core. |
|
-
Další informace: 📄 SQL Server - Hostování: 📦Aspire. Hosting.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Knihovna pro přístup k databázím SQL Server. |
Další informace o práci s integracemi Aspire v Visual Studionaleznete v dokumentaci Visual Studio nástroje.
integrace Azure
Azure integrace konfigurují aplikace tak, aby používaly Azure prostředky. Tyto integrace hostování jsou k dispozici v balíčcích NuGet Aspire.Hosting.Azure.*, zatímco jejich integrace klientů jsou k dispozici v balíčcích NuGet Aspire.*:
Integrace hostování Amazon Web Services (AWS)
| Dokumentace k integraci a balíčky NuGet | Popis |
|---|---|
|
-
Další informace: 📄 hostování AWS - Hostování: 📦Aspire. Hosting.AWS - Client: není k dispozici |
Knihovna pro modelování zdrojů AWS. |
Další informace naleznete v GitHub: Aspire. knihovně Hosting.AWS.
Kubernetes integrace hostingu
| Dokumentace k integraci a balíčky NuGet | Popis |
|---|---|
|
-
Další informace: 📄Kubernetes hostování - Hosting: 📦Aspire. Hostování.Kubernetes - Client: není k dispozici |
Knihovna pro vytváření Kubernetes manifestů nasazení z vašeho .NETAspire modelu aplikace. |
Integrace komunitního nástrojového kitu
Poznámka
Integrace sady Community Toolkit jsou vedeny komunitou a udržovány komunitou Aspire. Tyto integrace nejsou oficiálně podporovány týmem Aspire .
| Dokumentace k integraci a balíčky NuGet | Popis |
|---|---|
|
-
Další informace: 📄 Bun hosting - Hostování: 📦 CommunityToolkit.Aspire.Hosting.Bun - Client: není k dispozici |
Integrace hostování pro aplikace Bun. |
|
-
Další informace: 📄Deno hostování - Hosting: 📦 CommunityToolkit.Aspire. Hostování.Deno - Client: není k dispozici |
Integrace hostingu pro aplikace Deno. |
|
-
Zjistit více: 📄 Jít na hosting - Hostování: 📦 CommunityToolkit.Aspire.Hosting.Golang - Client: není k dispozici |
Integrace hostování pro aplikace Go. |
|
-
Další informace: 📄 Hosting pro Java/Spring - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Java - Client: není k dispozici |
Integrace pro spouštění Java kódu buď pomocí místního JDK, nebo pomocí kontejneru. |
|
-
Zjistit více: 📄Node.js rozšíření hostingu - Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: není k dispozici |
Integrace, která obsahuje několik dalších rozšíření pro spouštění aplikací Node.js |
|
-
Zjistit více: 📄 Ollama - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire. . CommunitToolkit.OllamaSharp |
Komponenta Aspire využívající kontejner Ollama s podporou stažení modelu při spuštění. |
|
-
Další informace: 📄 hostování Meilisearch - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch - Client: 📦Aspire. . CommunitToolkit.Meilisearch |
Komponenta Aspire využívající kontejner Meilisearch. |
|
-
Další informace: 📄 Hosting pro Rust - Hostování: 📦 CommunityToolkit.Aspire. Hosting.Rust - Client: není k dispozici |
Integrace hostování pro aplikace Rust. |
|
-
Další informace: 📄 hostování projektů SQL Database - Hostování: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: není k dispozici |
Integrace hostování Aspire pro projekty databáze SQL. |
|
-
Další informace: 📄 RavenDB - Hostování: 📦 CommunityToolkit.Aspire. Hosting.RavenDB - Client: 📦Aspire. . CommunityToolkit.RavenDB.Client |
Komponenta Aspire využívající kontejner RavenDB . |
Další informace najdete v komunitní Aspire sadě nástrojů.