.NET .NET Aspire 統合の概要
.NET Aspire 統合は、クラウドネイティブ アプリケーションと、Redis や PostgreSQLなどの主要なサービスとプラットフォームの統合を容易にするために選択された NuGet パッケージのキュレーションされたスイートです。 各統合は、自動プロビジョニングまたは標準化された構成パターンを通じて、重要なクラウドネイティブ機能を提供します。
アドバイス or ヒント (for advice context) チップ (for gratuity context)
常に最新バージョンの .NET.NET Aspire 統合を使用して、最新の機能、機能強化、およびセキュリティ更新プログラムを利用するように努めます。
統合の責任
ほとんどの .NET.NET Aspire 統合は、それぞれ異なる責任を持つ 2 つの個別のライブラリで構成されています。 1 つの種類は、アプリ ホスト プロジェクト内のリソース (ホスティング統合と呼ばれます) を表します。 もう 1 つの種類の統合は、ホスティング統合によってモデル化されたリソースに接続する client ライブラリを表し、client 統合と呼ばれます。
ホスティング統合
ホスティング統合では、リソース (コンテナーやクラウド リソースなど) をプロビジョニングするか、既存のインスタンス (ローカル SQL serverなど) をポイントして、アプリケーションを構成します。 これらのパッケージは、キャッシュ、データベース、ログ記録、ストレージ、メッセージング システムなど、さまざまなサービス、プラットフォーム、または機能をモデル化します。
ホスティング統合により、IDistributedApplicationBuilder インターフェイスが拡張され、アプリ ホスト プロジェクトは、アプリ モデル内のリソースを表現できます。 統合 NuGet パッケージ をホストする公式
カスタム
Client 統合
Aspire.
が付き、統合する完全なパッケージ名 (Aspire.StackExchange.Redis
など) を含めます。
これらのパッケージは、ホスティング統合に接続するように既存の client ライブラリを構成します。 これにより、IHostApplicationBuilder インターフェイスが拡張され、web アプリや API などの client使用するプロジェクトで、接続されたリソースを使用できるようになります。 公式の client 統合 NuGet パッケージ は、aspire
、integration
、および client
でタグ付けされます。 公式の client 統合に加えて、コミュニティは、Community Toolkit の一部として、さまざまなサービスとプラットフォームのclient 統合を作成しました。
カスタム client 統合の作成の詳細については、「カスタム .NET Aspireclient 統合の作成 を参照してください。
ホスティングと client の統合の関係
ホスティングと client の統合は、一緒に使用する場合に最適ですが、 結合されず、個別に使用できます。 一部のホスティング統合には、対応する client 統合がありません。 構成は、ホスティング統合を client 統合と連携させるものです。
ホスティングと client の統合の関係を示す次の図を考えてみましょう。
アプリ ホスト プロジェクトでは、ホスティング統合が使用されます。 構成 (特に環境変数) はプロジェクト、実行可能ファイル、コンテナーに挿入され、client 統合をホスティング統合に接続できます。
統合機能
.NET Aspire ソリューション内のプロジェクトに client 統合を追加すると、サービスの既定値 がそのプロジェクトに自動的に適用されます。つまり、Service Defaults プロジェクトが参照され、AddServiceDefaults
拡張メソッドが呼び出されます。 これらの既定値は、ほとんどのシナリオで適切に動作するように設計されており、必要に応じてカスタマイズできます。 次のサービスの既定値が適用されます。
監視とテレメトリの: ログ記録、トレース、メトリックの構成を自動的に設定します。
正常性チェック: HTTP エンドポイントを公開して、アプリに関する基本的な可用性と状態情報を提供します。 正常性チェックは、コンテナー オーケストレーター、ロード バランサー、API ゲートウェイ、およびその他の管理サービスによる決定に影響を与えるために使用されます。
回復力: システムが障害に react しても、引き続き機能を維持する能力。 回復性は、障害を防ぐだけでなく、クラウドネイティブ環境の復旧と再構築を正常な状態に戻す機能まで拡張されます。
公式インテグレーション
.NET .NET Aspire には、クラウドネイティブ アプリケーションの構築に役立つ多くの統合が用意されています。 これらの統合は、.NET Aspire アプリ ホストと client ライブラリとシームレスに連携するように設計されています。 以下のセクションでは、クラウドに依存しない、Azure固有、アマゾン ウェブ サービス (AWS)、Community Toolkit の統合について詳しく説明します。
クラウドに依存しない統合
次のセクションでは、クラウドに依存しない .NET.NET Aspire の統合と、それぞれのドキュメントと NuGet パッケージへのリンクについて詳しく説明し、各統合について簡単に説明します。
Visual Studioでの .NET Aspire 統合の使用の詳細については、Visual Studio ツールを参照してください。
Azure 統合
Azure 統合では、Azure リソースを使用するようにアプリケーションが構成されます。 これらのホスティング統合は、Aspire.Hosting.Azure.*
NuGet パッケージで使用できます。一方、client 統合は Aspire.*
NuGet パッケージで使用できます。
アマゾン ウェブ サービス (AWS) ホスティング統合
統合ドキュメントと NuGet パッケージ | 説明 |
---|---|
- ホスティング: 📦Aspire.Hosting.AWS - Client: N/A |
AWS リソース |
詳細については、「GitHub: Aspire」を参照してください。Hosting.AWS ライブラリ。
Community Toolkit の統合
手記
Community Toolkit の統合は、コミュニティ主導であり、.NET.NET Aspire コミュニティによって維持されます。 これらの統合は、.NET.NET Aspire チームによって正式にサポートされていません。
統合ドキュメントと NuGet パッケージ | 説明 |
---|---|
-
詳細を見る: 📄Azure 静的 Web Apps エミュレーター - ホスティング: 📦 CommunityToolkit。Aspire.ホスティング。Azure.StaticWebApps - Client: N/A |
Azure Static Web Apps エミュレーター のためのホスティング統合 (注: この統合ではプロジェクトを Azure 静的 Web Apps にデプロイすることはサポートされていません)。 |
-
もっと詳しく: 📄 Bun ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Bun - Client: N/A |
Bun アプリのホスティング統合。 |
- ホスティング: 📦 CommunityToolkit。Aspire.ホスティング。Deno - Client: N/A |
Deno アプリのホスティング統合。 |
-
詳細: 📄 ホスティングを開始 - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Golang - Client: N/A |
Go アプリのホスティング統合。 |
-
詳細を確認: 📄 Java/Spring ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Java - Client: N/A |
ローカル JDK またはコンテナーを使用して、.NET.NET Aspire で Java コードを実行するための統合。 |
-
詳細情報: 📄Node.js ホスティング拡張機能 - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.NodeJs.Extensions - Client: N/A |
Node.js アプリケーションを実行するための追加の拡張機能を含む統合 |
-
詳しく見る: 📄 Ollama - ホスティング:📦 CommunityToolkit。Aspire.Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Ollama コンテナーを利用する Aspire コンポーネントで、起動時にモデルをダウンロードできます。 |
-
詳細はこちら: 📄 Meilisearch ホスティング - ホスティング:📦 CommunityToolkit。Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Meilisearch コンテナーを利用する Aspire コンポーネント。 |
-
詳細情報: 📄 Rust ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Rust - Client: N/A |
Rust アプリのホスティング統合。 |
- ホスティング: 📦 CommunityToolkit。Aspire.Hosting.SqlDatabaseProjects - Client: N/A |
SQL Database プロジェクトの Aspire ホスティング統合。 |
詳細については、「.NET.NET Aspire Community Toolkit」を参照してください。
.NET Aspire