次の方法で共有


.NET .NET Aspire 統合の概要

.NET Aspire 統合は、クラウドネイティブ アプリケーションと、Redis や PostgreSQLなどの主要なサービスとプラットフォームの統合を容易にするために選択された NuGet パッケージのキュレーションされたスイートです。 各統合は、自動プロビジョニングまたは標準化された構成パターンを通じて、重要なクラウドネイティブ機能を提供します。

アドバイス or ヒント (for advice context) チップ (for gratuity context)

常に最新バージョンの .NET.NET Aspire 統合を使用して、最新の機能、機能強化、およびセキュリティ更新プログラムを利用するように努めます。

統合の責任

ほとんどの .NET.NET Aspire 統合は、それぞれ異なる責任を持つ 2 つの個別のライブラリで構成されています。 1 つの種類は、アプリ ホスト プロジェクト内のリソース (ホスティング統合と呼ばれます) を表します。 もう 1 つの種類の統合は、ホスティング統合によってモデル化されたリソースに接続するクライアント ライブラリを表し、クライアント統合と呼ばれます。

ホスティング統合

ホスティング統合では、リソース (コンテナーやクラウド リソースなど) をプロビジョニングするか、既存のインスタンス (ローカル SQL サーバーなど) をポイントすることで、アプリケーションを構成します。 これらのパッケージは、キャッシュ、データベース、ログ記録、ストレージ、メッセージング システムなど、さまざまなサービス、プラットフォーム、または機能をモデル化します。

ホスティング統合により、IDistributedApplicationBuilder インターフェイスが拡張され、アプリ ホスト プロジェクトは、アプリ モデル内のリソースを表現できます。 統合 NuGet パッケージ をホストする公式 は、、および でタグ付けされます。 公式のホスティング統合に加えて、コミュニティは、Community Toolkit の一部として、さまざまなサービスとプラットフォームに ホスティング統合を作成しました。

カスタム ホスティング統合の作成の詳細については、「カスタム ホスティング統合の作成」参照してください。

Client 統合

統合では、クライアント ライブラリを結び付けて依存関係挿入 (DI)を し、構成スキーマを定義し、必要に応じて、正常性チェック、回復性、および テレメトリ 追加します。 .NET .NET Aspire クライアント統合ライブラリの先頭に Aspire. が付き、統合する完全なパッケージ名 (Aspire.StackExchange.Redisなど) が含まれます。

これらのパッケージは、ホスティング統合に接続するように既存のクライアント ライブラリを構成します。 これにより、IHostApplicationBuilder インターフェイスが拡張され、Web アプリや API などのクライアントが使用するプロジェクトで、接続されたリソースを使用できるようになります。 公式 クライアント統合 NuGet パッケージ は、aspireintegration、および clientでタグ付けされます。 公式のクライアント統合に加えて、コミュニティは、Community Toolkit の一部として、さまざまなサービスとプラットフォームに クライアント統合を作成しました。

カスタム クライアント統合の作成の詳細については、「カスタム .NET.NET Aspire クライアント統合作成する」を参照してください。

ホスティングとクライアント統合の関係

ホスティングとクライアントの統合は、一緒に使用する場合に最適ですが、 結合されておらず、個別に使用できます。 一部のホスティング統合には、対応するクライアント統合がありません。 構成は、ホスティング統合をクライアント統合と連携させるものです。

ホスティングとクライアントの統合の関係を示す次の図を考えてみましょう。

図の

アプリ ホスト プロジェクトでは、ホスティング統合が使用されます。 構成 (特に環境変数) はプロジェクト、実行可能ファイル、コンテナーに挿入され、クライアント統合をホスティング統合に接続できます。

統合機能

.NET .NET Aspire ソリューション内のプロジェクトにクライアント統合を追加すると、サービスの既定値 がそのプロジェクトに自動的に適用されます。つまり、Service Defaults プロジェクトが参照され、AddServiceDefaults 拡張メソッドが呼び出されます。 これらの既定値は、ほとんどのシナリオで適切に動作するように設計されており、必要に応じてカスタマイズできます。 次のサービスの既定値が適用されます。

  • 監視とテレメトリの: ログ記録、トレース、メトリックの構成を自動的に設定します。

    • ログ記録: プログラムの実行中に発生した興味深いイベントのログを生成するためにコードをインストルメント化する手法。
    • トレース: 複数のコンピューターまたはプロセスに分散されたアプリケーション内でエラーとパフォーマンスの問題をローカライズするのに役立つ特殊な形式のログ記録です。
    • メトリック: アプリケーションのパフォーマンスと正常性を監視するために、時間の経過に伴って記録された数値測定値。 メトリックは、多くの場合、潜在的な問題が検出されたときにアラートを生成するために使用されます。
  • 正常性チェック: HTTP エンドポイントを公開して、アプリに関する基本的な可用性と状態情報を提供します。 正常性チェックは、コンテナー オーケストレーター、ロード バランサー、API ゲートウェイ、およびその他の管理サービスによる決定に影響を与えるために使用されます。

  • 回復性: システムが障害に対応し、引き続き機能します。 回復性は、障害を防ぐだけでなく、クラウドネイティブ環境の復旧と再構築を正常な状態に戻す機能まで拡張されます。

バージョン管理に関する考慮事項

ホスティングとクライアントの統合は、依存リソースの最新の安定したバージョンを対象とするように、リリースごとに更新されます。 コンテナー イメージが新しいイメージ バージョンで更新されると、ホスティング統合はこれらの新しいバージョンに更新されます。 同様に、依存クライアント ライブラリで新しい NuGet バージョンを使用できる場合、対応するクライアント統合が新しいバージョンに更新されます。 これにより、最新の機能とセキュリティ更新プログラムをアプリケーションで使用できるようになります。

依存リソースで重大な破壊的変更が発生した場合、破壊的変更全体の更新を容易にするために、統合がバージョン依存パッケージに一時的に分割される可能性があります。 詳細については、そのような破壊的変更の最初の例 参照してください。

公式インテグレーション

.NET .NET Aspire には、クラウドネイティブ アプリケーションの構築に役立つ多くの統合が用意されています。 これらの統合は、.NET.NET Aspire アプリ ホストとクライアント ライブラリとシームレスに連携するように設計されています。 以下のセクションでは、クラウドに依存しない、Azure固有、アマゾン ウェブ サービス (AWS)、Community Toolkit の統合について詳しく説明します。

クラウドに依存しない統合

次のセクションでは、クラウドに依存しない .NET.NET Aspire の統合と、それぞれのドキュメントと NuGet パッケージへのリンクについて詳しく説明し、各統合について簡単に説明します。

統合ドキュメントと NuGet パッケージ 説明
- 詳しくはこちら: 📄 Apache Kafka
- ホスティング: 📦Aspire.Hosting.Kafka
- Client: 📦Aspire.Confluent.Kafka
Apache Kafka ブローカーからのメッセージを生成および使用するためのライブラリ。
- 詳しくはこちら: 📄 Dapr
- ホスティング: 📦Aspire.ホスティング。Dapr
- Client: N/A
Dapr .NET リソースとして .NET Aspire をモデル化するためのライブラリ。
- 詳しくはこちら: 📄 Elasticsearch
- ホスティング: 📦Aspire.ホスティング。Elasticsearch
- Client: 📦Aspire.Elastic.Clients.Elasticsearch
Elasticsearch データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Keycloak
- ホスティング: 📦Aspire.ホスティング。Keycloak
- Client: 📦Aspire.Keycloak.認証
Keycloak 認証にアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Milvus
- ホスティング: 📦Aspire.ホスティング。Milvus
- Client: 📦Aspire.Milvus.Client
Milvus データベースにアクセスするためのライブラリ。
- 詳細については、: 📄MongoDB ドライバー
- ホスティング: 📦Aspire.ホスティング。MongoDB
- Client: 📦Aspire.MongoDB.ドライバーの
MongoDB データベースにアクセスするためのライブラリ。
詳細については、を参照してください。MySqlConnector
- ホスティング: 📦Aspire.Hosting.MySql
- Client: 📦Aspire.MySqlConnector
MySqlConnector データベース アクセスするためのライブラリ。
- 詳しくはこちら: 📄 NATS
- ホスティング: 📦Aspire.Hosting.Nats
- Client: 📦Aspire.NetNATSの
NATS メッセージングにアクセスするためのライブラリ。
- 詳しくはこちら: 📄Oracle - EF Core
- ホスティング: 📦Aspire.ホスティング。Oracle
- Client: 📦Aspire.Oracle.EntityFrameworkCore
Oracleを使用して Entity Framework Core データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Orleans
- ホスティング: 📦Aspire.ホスティング。Orleans
- Client: N/A
Orleans .NET リソースとして .NET Aspire をモデル化するためのライブラリ。
- 詳しく見る: 📄 Pomelo MySQL - EF Core
- ホスティング: 📦Aspire.Hosting.MySql
- Client: 📦Aspire.Pomelo.EntityFrameworkCore.MySql
Entity Framework Coreを使用して MySql データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄PostgreSQL - EF Core
- ホスティング: 📦Aspire.ホスティング。PostgreSQL
- Client: 📦Aspire.Npgsql.EntityFrameworkCore.PostgreSQL
PostgreSQLを使用して Entity Framework Core データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 PostgreSQL
- ホスティング: 📦Aspire.ホスティング。PostgreSQL
- Client: 📦Aspire.Npgsql
PostgreSQL データベースにアクセスするためのライブラリ。
Qdrantについてさらに知る:
- ホスティング: 📦Aspire.Hosting.Qdrant
- Client: 📦Aspire. Qdrant。Client
Qdrant データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 RabbitMQ
- ホスティング: 📦Aspire.ホスティング。RabbitMQ
- Client: 📦Aspire.RabbitMQ.Client
RabbitMQにアクセスするためのライブラリ。
- 詳細については、: 分散キャッシュ 📄Redis
- ホスティング: 📦Aspire.ホスティングRedis📦Aspire.ホスティング.Garnet、または 📦Aspire.ホスティング.Valkey
- Client: 📦Aspire.StackExchange。Redis.DistributedCaching
分散キャッシュ キャッシュにアクセスするためのライブラリ。
- 詳細については、を参照してください。📄Redis 出力キャッシュ
- ホスティング: 📦Aspire.ホスティングRedis📦Aspire.ホスティング.Garnet、または 📦Aspire.ホスティング.Valkey
- Client: 📦Aspire.StackExchange。Redis.OutputCaching
Redis用の キャッシュにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Redis
- ホスティング: 📦Aspire.ホスティングRedis📦Aspire.ホスティング.Garnet、または 📦Aspire.ホスティング.Valkey
- Client: 📦Aspire.StackExchange。Redis
Redis キャッシュにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Seq
- ホスティング: 📦Aspire.ホスティング。Seq
- Client: 📦Aspire.Seq
Seqにログを記録するためのライブラリ。
- 詳しくはこちら: 📄SQL Server - EF Core
- ホスティング: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire.Microsoft.EntityFrameworkCore.SqlServer
を使用して データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 SQL Server
- ホスティング: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire.Microsoft.Data.SqlClient
SQL Server データベースにアクセスするためのライブラリ。

.NET Aspireでの Visual Studio 統合の使用の詳細については、Visual Studio ツールを参照してください。

Azure 統合

Azure 統合では、Azure リソースを使用するようにアプリケーションが構成されます。 これらのホスティング統合は、Aspire.Hosting.Azure.* NuGet パッケージで使用でき、クライアント統合は Aspire.* NuGet パッケージで使用できます。

統合 ドキュメントと NuGet パッケージ 説明
Azure App Configuration ロゴ。 - 詳細については、: 📄アプリ設定Azure
- ホスティング: 📦Aspire.ホスティング。Azure.AppConfiguration
- Client: N/A
Azure App Configurationと対話するためのライブラリ。
AzureApplication Insights ロゴ。 - 詳しくはこちら: 📄 Azure Application Insights
- ホスティング: 📦Aspire.ホスティング。Azure.ApplicationInsights
- Client: N/A
Azure Application Insightsを操作するためのライブラリ。
AzureAzure Cache for Redis ロゴ - 詳しくはこちら: 📄 Azure Cache for Redis
- ホスティング: 📦Aspire.ホスティング。Azure.Redis
- Client: 📦Aspire.StackExchange.Redis または 📦Aspire.StackExchange.Redis.DistributedCaching または 📦Aspire.StackExchange.Redis.OutputCaching
Azure Cache for Redisにアクセスするためのライブラリ。
AzureAzure Cosmos DB EFロゴ。 - 詳しくはこちら: 📄Azure Cosmos DB - EF Core
- ホスティング: 📦Aspire.ホスティング。Azure.CosmosDB
- Client: 📦Aspire.Microsoft.EntityFrameworkCore.Cosmos
Azureを使用して Azure Cosmos DBEntity Framework Core データベースにアクセスするためのライブラリ。
AzureAzure Cosmos DB ロゴ。 - 詳しくはこちら: 📄 Azure Cosmos DB
- ホスティング: 📦Aspire.ホスティング。Azure.CosmosDB
- Client: 📦Aspire.Microsoft。Azure.Cosmos
Azure Cosmos DB データベースにアクセスするためのライブラリ。
Azure Event Hubs ロゴ。 - 詳しくはこちら: 📄 Azure Event Hubs
- ホスティング: 📦Aspire.ホスティング。Azure.EventHubs
- Client: 📦Aspire.Azure.Messaging.EventHubs
Azure Event Hubsにアクセスするためのライブラリ。
Azure Functions ロゴ。 - 詳細を見る: 📄Azure 機能
- ホスティング: 📦Aspire.ホスティング。Azure.関数
- Client: N/A
Azure Functionsと統合するためのライブラリ。
Azure Key Vault ロゴ。 - 詳しくはこちら: 📄 Azure Key Vault
- ホスティング: 📦Aspire.ホスティング。Azure.KeyVault
- Client: 📦Aspire.Azure.Security.KeyVault
Azure Key Vaultにアクセスするためのライブラリ。
Azure Operational Insights のロゴ。 - 詳細については、: 📄Azure Operational Insights
- ホスティング: 📦Aspire.ホスティング。Azure.オペレーショナルインサイト
- Client: N/A
Azure Operational Insightsと対話するためのライブラリ。
AzureOpenAI ロゴ。 - 詳しくはこちら: 📄 Azure AI OpenAI
- ホスティング: 📦Aspire.ホスティング。Azure.CognitiveServices
- Client: 📦Aspire.Azure.人工知能。OpenAI
Azure AI OpenAI または OpenAI 機能にアクセスするためのライブラリ。
AzurePostgreSQL ロゴ。 - 詳しくはこちら: 📄 Azure PostgreSQL
- ホスティング: 📦Aspire.ホスティング。Azure.PostgreSQL
- Client: N/A
Azure Database for PostgreSQLと対話するためのライブラリ。
Azure AI Search ロゴ。 - 詳細はこちら: 📄Azure AI Search
- ホスティング📦Aspire.ホスティング。Azure.検索
- Client: 📦Aspire.Azure.Search.Documents
Azure AI Search 機能にアクセスするためのライブラリ。
Azure Service Bus ロゴ。 - 詳しくはこちら: 📄 Azure Service Bus
- ホスティング: 📦Aspire.ホスティング。Azure.ServiceBus
- Client: 📦Aspire.Azure.Messaging.ServiceBus
Azure Service Busにアクセスするためのライブラリ。
AzureAzure SignalR Service ロゴ。 - 詳しくはこちら: 📄 Azure SignalR Service
- ホスティング: 📦Aspire.ホスティング。Azure.SignalR
- Client: Microsoft.Azure.SignalR
Azure SignalR Serviceにアクセスするためのライブラリ。
Azure Blob Storage ロゴ。 - 詳しくはこちら: 📄 Azure Blob Storage
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Storage.Blobs
Azure Blob Storageにアクセスするためのライブラリ。
Azure Storage Queues ロゴ。 - 詳しくはこちら: 📄 Azure Storage Queues
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Storage.Queues
Azure Storage Queuesにアクセスするためのライブラリ。
Azure Table Storage ロゴ。 - 詳しくはこちら: 📄 Azure Table Storage
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Data.Tables
Azure Table サービスにアクセスするためのライブラリ。
Azure Web PubSub ロゴ。 - Web PubSub について詳しく知る: 📄Azure
- ホスティング: 📦Aspire.ホスティング。Azure.WebPubSub
- Client: 📦Aspire.Azure.Messaging.WebPubSub
Azure Web PubSub サービスにアクセスするためのライブラリ。

アマゾン ウェブ サービス (AWS) ホスティング統合

統合ドキュメントと NuGet パッケージ 説明
AWS ホスティング の
- ホスティング: 📦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
Aspire コンテナーを利用する コンポーネントで、起動時にモデルをダウンロードできます。
- 詳細はこちら: 📄 Meilisearch ホスティング
- ホスティング📦 CommunityToolkit。Aspire.Hosting.Meilisearch
- Client: 📦Aspire. CommunitToolkit.Meilisearch
Aspire コンテナーを利用する コンポーネント。
- 詳細情報: 📄 Rust ホスティング
- ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Rust
- Client: N/A
Rust アプリのホスティング統合。
詳細情報: SQL データベース プロジェクトをホストする
- ホスティング: 📦 CommunityToolkit。Aspire.Hosting.SqlDatabaseProjects
- Client: N/A
SQL Database プロジェクトの Aspire ホスティング統合。

詳細については、「.NET.NET Aspire Community Toolkit」を参照してください。