次の方法で共有


.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 パッケージ をホストする公式 は、、および でタグ付けされます。 公式のホスティング統合に加えて、コミュニティは、Community Toolkit の一部として、さまざまなサービスとプラットフォームに ホスティング統合を作成しました。

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

Client 統合

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

これらのパッケージは、ホスティング統合に接続するように既存の client ライブラリを構成します。 これにより、IHostApplicationBuilder インターフェイスが拡張され、web アプリや API などの client使用するプロジェクトで、接続されたリソースを使用できるようになります。 公式の client 統合 NuGet パッケージ は、aspireintegration、および 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 パッケージへのリンクについて詳しく説明し、各統合について簡単に説明します。

統合ドキュメントと NuGet パッケージ 説明
- 詳しくはこちら: 📄 Apache Kafka
- ホスティング: 📦Aspire.Hosting.Kafka
- Client: 📦Aspire.Confluent.Kafka
Apache Kafka ブローカーからのメッセージを生成および使用するためのライブラリ。
- 詳しくはこちら: 📄 Dapr
- ホスティング: 📦Aspire.ホスティング。Dapr
- Client: N/A
.NET .NET Aspire リソースとして Dapr をモデル化するためのライブラリ。
- 詳しくはこちら: 📄 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.ホスティング。MySql
- Client: 📦Aspire.MySqlConnector
MySqlConnector データベース アクセスするためのライブラリ。
- 詳しくはこちら: 📄 NATS
- ホスティング: 📦Aspire。ホスティング。Nats
- Client: 📦Aspire.NetNATSの
NATS メッセージングにアクセスするためのライブラリ。
- 詳しくはこちら: 📄Oracle - EF Core
- ホスティング: 📦Aspire.ホスティング。Oracle
- Client: 📦Aspire.Oracle.EntityFrameworkCore
Entity Framework Coreを使用して Oracle データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Orleans
- ホスティング: 📦Aspire.ホスティング。Orleans
- Client: N/A
.NET .NET Aspire リソースとして Orleans をモデル化するためのライブラリ。
- 詳しく見る: 📄 Pomelo MySQL - EF Core
- ホスティング: 📦Aspire.ホスティング。MySql
- Client: 📦Aspire.Pomelo.EntityFrameworkCore.MySql
Entity Framework Coreを使用して MySql データベースにアクセスするためのライブラリ。
- 詳細を見る: 📄PostgreSQL - EF Core
- ホスティング: 📦AspireホスティングPostgreSQL
- Client: 📦Aspire.Npgsql.EntityFrameworkCore.PostgreSQL
Entity Framework Coreを使用して PostgreSQL データベースにアクセスするためのライブラリ。
- 詳細を見る: 📄 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ホスティング・ガーネット、または 📦Aspireホスティング・バルキー
- 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 データベースにアクセスするためのライブラリ。

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

Azure 統合

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

統合ドキュメントと NuGet パッケージ 説明
- 詳細については、: 📄アプリ設定Azure
- ホスティング: 📦Aspire.ホスティング。Azure.AppConfiguration
- Client: N/A
Azure App Configurationと対話するためのライブラリ。
- 詳しくはこちら: 📄 Azure Application Insights
- ホスティング: 📦Aspire.ホスティング。Azure.ApplicationInsights
- Client: N/A
Azure Application Insightsを操作するためのライブラリ。
- 詳しくはこちら: 📄Azure Cosmos DB - EF Core
- ホスティング: 📦Aspire.ホスティング。Azure.CosmosDB
- Client: 📦Aspire.Microsoft.EntityFrameworkCore.Cosmos
Entity Framework Coreを使用して AzureAzure Cosmos DB データベースにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Azure Cosmos DB
- ホスティング: 📦Aspire.ホスティング。Azure.CosmosDB
- Client: 📦Aspire.Microsoft。Azure.Cosmos
Azure Cosmos DB データベースにアクセスするためのライブラリ。
- 詳細はこちら: 📄 Azure Event Hubs
- ホスティング: 📦Aspire.ホスティング。Azure.EventHubs
- Client: 📦Aspire.Azure.Messaging.EventHubs
Azure Event Hubsにアクセスするためのライブラリ。
- 詳細を見る: 📄Azure 機能
- ホスティング: 📦Aspire.ホスティング。Azure.関数
- Client: N/A
Azure Functionsと統合するためのライブラリ。
- もっと詳しく知る: 📄 Azure Key Vault
- ホスティング: 📦Aspire.ホスティング。Azure.KeyVault
- Client: 📦Aspire.Azure.Security.KeyVault
Azure Key Vaultにアクセスするためのライブラリ。
- 詳細については、: 📄Azure Operational Insights
- ホスティング: 📦Aspire.ホスティング。Azure.オペレーショナルインサイト
- Client: N/A
Azure Operational Insightsと対話するためのライブラリ。
- 詳細を確認: 📄 Azure AI OpenAI
- ホスティング: 📦Aspire.ホスティング。Azure.CognitiveServices
- Client: 📦Aspire.Azure.人工知能。OpenAI
Azure AI OpenAI または OpenAI 機能にアクセスするためのライブラリ。
- もっと知る: 📄 Azure PostgreSQL
- ホスティング: 📦Aspire.ホスティング。Azure.PostgreSQL
- Client: N/A
Azure Database for PostgreSQLと対話するためのライブラリ。
- 詳細はこちら: 📄Azure AI Search
- ホスティング📦Aspire.ホスティング。Azure.検索
- Client: 📦Aspire.Azure.Search.Documents
Azure AI Search 機能にアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Azure Service Bus
- ホスティング: 📦Aspire.ホスティング。Azure.ServiceBus
- Client: 📦Aspire.Azure.Messaging.ServiceBus
Azure Service Busにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Azure SignalR Service
- ホスティング: 📦Aspire.ホスティング。Azure.SignalR
- Client: Microsoft.Azure.SignalR
Azure SignalR Serviceにアクセスするためのライブラリ。
- 詳しくはこちら: 📄 Azure Blob Storage
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Storage.Blobs
Azure Blob Storageにアクセスするためのライブラリ。
- 詳しく見る: 📄 Azure Storage Queues
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Storage.Queues
Azure Storage Queuesにアクセスするためのライブラリ。
- 詳細を確認する: 📄 Azure Table Storage
- ホスティング: 📦Aspire.ホスティング。Azure.ストレージ
- Client: 📦Aspire.Azure.Data.Tables
Azure Table サービスにアクセスするためのライブラリ。
- 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
Ollama コンテナーを利用する Aspire コンポーネントで、起動時にモデルをダウンロードできます。
- 詳細はこちら: 📄 Meilisearch ホスティング
- ホスティング📦 CommunityToolkit。Aspire.Hosting.Meilisearch
- Client: 📦Aspire. CommunitToolkit.Meilisearch
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」を参照してください。