次の方法で共有


Community Toolkit Azure Data API Builder ホスティング統合

含まれるもの:ホスティング統合 されません Client 統合

手記

この統合は .NET.NET Aspire Community Toolkit の一部であり、は .NET.NET Aspire チームによって正式にサポート されていません。

この記事では、.NET.NET Aspire Data API Builder ホスティング統合を使用して、Data API Builder をコンテナーとして実行する方法について説明します。

ホスティング統合

.NET Aspire Azure Data API Builder ホスティング統合を開始するには、📦 CommunityToolkit をインストールします。Aspire.ホスティング。Azure.DataApiBuilder は、アプリ ホスト プロジェクト内の NuGet パッケージ します。

dotnet add package CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder

詳細については、「dotnet パッケージ の追加」または「.NET アプリケーションでのパッケージの依存関係の管理」を参照してください。

使用

アプリ ホスト プロジェクトで、AddDataAPIBuilder 拡張メソッドを使用して Data API Builder 統合を登録して使用し、Data API Builder コンテナーをアプリケーション ビルダーに追加します。

 var builder = DistributedApplication.CreateBuilder(); 

// Add Data API Builder using dab-config.json 
var dab = builder.AddDataAPIBuilder("dab");

builder.AddProject<Projects.ExampleProject>() 
        .WithReference(dab); 

 // After adding all resources, run the app... 

.NET .NET Aspire は、前の例で示したように、mcr.microsoft.com/azure-databases/data-api-builder イメージを使用してコンテナー イメージをアプリ ホストに追加すると、ローカル マシンに新しい Data API Builder インスタンスを作成します。 DAB リソース (dab 変数) への参照が ExampleProject プロジェクトに追加されます。

構成

パラメーター 説明
name リソースの名前は必須の string であり、ResourceNameAttributeによって検証されます。
configFilePaths データ API ビルダーの構成ファイルまたはスキーマ ファイルへのパス。 これらは省略可能であり、params string[]として使用できます。つまり、完全に省略することも、1 つ以上のパスをインラインで指定することもできます。 省略すると、既定値は "./dab-config.json"になります。
httpPort Data API Builder コンテナーのポート番号は、int?として表されます。 デフォルトでは、ポートは null、.NET、.NET Aspire です。そうでない場合は、ポートが割り当てられます。

Data API Builder コンテナー イメージの構成

IResourceBuilder<DataApiBuilderContainerResource>にチェーンされた次の API を使用して、カスタム コンテナーの registry/image/tag 値を指定できます。

  • WithImageRegistry: GitHub コンテナー レジストリの ghcr.io や Dockerの docker.io など、目的のレジストリ名を渡します。
  • WithImage: azure-databases/data-api-builderなど、イメージの名前を指定します。
  • WithImageTag: latest以外で使用するイメージ タグを指定します。これはほとんどの場合、既定値です。

Data API Builder のコンテナー イメージが mcr.microsoft.com/azure-databases/data-api-builder:latestとして完全修飾されていることを流暢に表すために、これらの API を連結する例を次に示します。

var dab = builder.AddDataAPIBuilder("dab")
    .WithImageRegistry("mcr.microsoft.com")
    .WithImage("azure-databases/data-api-builder")
    .WithImageTag("latest");

データベースの構成

独自のローカル データベースを構成する必要がある場合は、SQL Server 統合 ドキュメントを参照してください。

リソースとしてデータベースを追加したら、IResourceBuilder<DataApiBuilderContainerResource>にチェーンされた次の API を使用してデータベースを参照できます。

var dab = builder.AddDataAPIBuilder("dab")
    .WithReference(sqlDatabase)
    .WaitFor(sqlDatabase);

WaitFor メソッドを使用すると、Data API Builder コンテナーを開始する前にデータベースの準備が整います。

sqlDatabase リソースを参照すると、ConnectionStrings__<DATABASE_RESOURCE_NAME>という名前の接続文字列が Data API Builder コンテナーに挿入されます。 次に、dab-config.json ファイルを更新して、データベースの接続文字列を含めます。

"data-source": {
    "connection-string": "@env('ConnectionStrings__<DATABASE_RESOURCE_NAME>')",
}

複数のデータ ソースの使用

複数の構成ファイルを AddDataAPIBuilder メソッドに渡すことができます。

var dab = builder.AddDataAPIBuilder("dab", 
        "./dab-config-1.json", 
        "./dab-config-2.json")
    .WithReference(sqlDatabase1)
    .WaitFor(sqlDatabase1)
    .WithReference(sqlDatabase2)
    .WaitFor(sqlDatabase2);

手記

すべてのファイルは、同じ /App フォルダーにマウント/コピーされます。

関連項目