この記事は自動翻訳されています。オリジナル版はこちらをご覧ください。
Aspire 13.2が2つの新しいデータベースインテグレーションと共にリリースされました。注目すべきはMongoDB Entity Framework CoreとAzure Data Lake Storageです。AspireアプリでMongoDBとEF Coreを使いたかった方、あるいはサービスディスカバリ付きでData Lakeワークロードを接続したかった方にとって、今回のリリースはまさにそれを提供してくれます。
AspireでMongoDBとEF Coreが出会う
これが一番ワクワクしているインテグレーションです。AspireはMongoDBを以前からサポートしていましたが、常に生のドライバーでした — EF Coreなし、DbContextなし、ドキュメントに対するLINQクエリなし。今回から、MongoDBでフルのEF Core体験が得られるようになり、さらにAspireの自動ヘルスチェックとサービスディスカバリも付いてきます。
セットアップは典型的なAspireパターンです。AppHostで:
var mongodb = builder.AddMongoDB("mongodb")
.WithDataVolume()
.WithLifetime(ContainerLifetime.Persistent);
var apiService = builder.AddProject<Projects.ApiService>("api")
.WithReference(mongodb);
次に、コンシューマープロジェクトでEF Coreインテグレーションを追加します:
dotnet add package Aspire.MongoDB.EntityFrameworkCore
そしてDbContextを登録します:
builder.AddMongoDbContext<MyDbContext>("mongodb", "mydb");
あとは標準的なEF Coreです。エンティティを定義し、他のプロバイダーと同じようにDbContextを使います。コネクションプーリング、OpenTelemetryトレース、ヘルスチェックはインテグレーションがバックグラウンドで処理します。
生のドライバーでMongoDBを使い、コネクション文字列を手動で設定していた.NET開発者にとって、これは嬉しい改善です。Aspireのサービスディスカバリを失うことなく、EF Coreの完全な抽象化が手に入ります。
Azure Data Lake Storageが仲間入り
2つ目の大きな追加はAzure Data Lake Storage(ADLS)インテグレーションです。データパイプライン、ETLプロセス、分析プラットフォームを構築しているなら、他のAspire依存関係と同じ方法でData Lakeリソースを接続できるようになりました。
AppHostで:
var storage = builder.AddAzureStorage("azure-storage");
var dataLake = storage.AddDataLake("data-lake");
var fileSystem = storage.AddDataLakeFileSystem("data-lake-file-system");
var analyticsService = builder.AddProject<Projects.AnalyticsService>("analytics")
.WithReference(dataLake)
.WithReference(fileSystem);
コンシューマープロジェクトで:
builder.AddAzureDataLakeServiceClient("data-lake");
builder.AddAzureDataLakeFileSystemClient("data-lake-file-system");
コネクション文字列の手動管理も、資格情報の探索も不要です。Aspireがリソースをプロビジョニングして注入します。オペレーショナルデータと分析ワークロードの両方を扱うクラウドネイティブな.NETアプリを構築している私たちにとって、Data LakeがAspireモデルのファーストクラスシチズンのように感じられるようになります。
地味だけど大事な修正
メイン機能以外にも、いくつかの改善が注目に値します:
- MongoDBコネクション文字列の修正 — データベース名の前のスラッシュが正しく処理されるようになりました。ワークアラウンドを使っていた方は、もう不要です
- SQL Serverエクスポート —
Aspire.Hosting.SqlServerが追加のサーバー構成オプションをエクスポートし、より細かい制御が可能に - エミュレーターの更新 — ServiceBusエミュレーター2.0.0、App Configurationエミュレーター1.0.2、CosmosDBのプレビューエミュレーターにレディネスチェックが追加
- Azure Managed Redis — デフォルトで
rediss://(Redis Secure)を使用するようになり、接続が最初から暗号化されます
最後のポイントは地味ですが重要です — デフォルトで暗号化されたRedisは、本番環境で設定すべきことが1つ減ることを意味します。
まとめ
Aspire 13.2はインクリメンタルなリリースですが、MongoDB EF CoreとData Lakeのインテグレーションは実際のギャップを埋めてくれます。AspireでのMongoDBに対する適切なEF Coreサポートを待っていた方、またはData Lakeをファーストクラスの依存関係として必要としていた方は、13.2にアップグレードして試してみてください。aspire addコマンドで必要なものがすべてスキャフォールドされます。
完全なリリースノートで詳細を確認し、インテグレーションギャラリーで完全なリストをチェックしてください。
