クイック スタート: SQL で Data API ビルダーを使用する
このクイック スタートでは、ローカル SQL データベースを対象とするデータ API ビルダー構成ファイルのセットを作成します。
前提条件
- Docker
- .NET 8
- データ管理クライアント
- クライアントがインストールされていない場合は、Azure Data Studio をインストールします
ヒント
または、GitHub Codespaces でこのクイックスタートを開き、すべての開発者の前提条件が既にインストールされています。 独自の Azure サブスクリプションを持ち込むだけです。 GitHub アカウントには、ストレージとコア時間のエンタイトルメントが無償で含まれています。 詳細については、「 GitHub アカウントのストレージとコア時間を含む」を参照してください。
Data API Builder CLI をインストールする
Microsoft.DataApiBuilder
NuGet から .NET ツールとしてパッケージをインストールします。
引数を指定して の最新バージョンを
Microsoft.DataApiBuilder
インストールするには、 を--global
使用dotnet tool install
します。dotnet tool install --global Microsoft.DataApiBuilder
注意
パッケージが既にインストールされている場合は、代わりに を使用してパッケージを
dotnet tool update
更新します。dotnet tool update --global Microsoft.DataApiBuilder
引数を使用して
--global
、ツールが インストールdotnet tool list
されていることを確認します。dotnet tool list --global
ローカル データベースを構成する
まず、ローカル データベースを構成して実行し、関連する資格情報を設定します。 その後、サンプル データを使用してデータベースをシード処理できます。
Docker Hubからコンテナー イメージの
mcr.microsoft.com/mssql/server:2022-latest
最新のコピーを取得します。docker pull mcr.microsoft.com/mssql/server:2022-latest
パスワードを設定し、エンドユーザー ライセンス契約 (EULA) に同意し、ポート 1433 を発行して、Docker コンテナーを起動します。 をカスタム パスワードに置き換えます
<your-password>
。docker run \ --env "ACCEPT_EULA=Y" \ --env "MSSQL_SA_PASSWORD=<your-password>" \ --publish 1433:1433 \ --detach \ mcr.microsoft.com/mssql/server:2022-latest
任意のデータ管理環境を使用して、ローカル データベースに接続します。 たとえば、SQL Server Management Studio、Azure Data Studio、Visual Studio Code のSQL Server拡張機能などがありますが、これらに限定されません。
ヒント
Docker Linux コンテナー イメージに既定のネットワークを使用している場合、接続文字列は になります
Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;
。 を、前に設定したパスワードに置き換えます<your-password>
。新
bookshelf
しいデータベースをCreateし、残りのクエリにデータベースを使用します。DROP DATABASE IF EXISTS bookshelf; GO CREATE DATABASE bookshelf; GO USE bookshelf; GO
新
dbo.authors
しいテーブルをCreateし、テーブルに基本的なデータをシード処理します。DROP TABLE IF EXISTS dbo.authors; GO CREATE TABLE dbo.authors ( id int not null primary key, first_name nvarchar(100) not null, middle_name nvarchar(100) null, last_name nvarchar(100) not null ) GO INSERT INTO dbo.authors VALUES (01, 'Henry', null, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', null, 'Mattos'), (04, 'Jordan', null, 'Mitchell'), (05, 'Victoria', null, 'Burke'), (06, 'Vance', null, 'DeLeon'), (07, 'Reed', null, 'Flores'), (08, 'Felix', null, 'Henderson'), (09, 'Avery', null, 'Howard'), (10, 'Violet', null, 'Martinez') GO
構成ファイルを作成する
DAB CLI を使用してベースライン構成ファイルをCreateします。 次に、現在の資格情報を使用して開発構成ファイルを追加します。
を使用して一般的な構成ファイルを
dab init
Createします。 最初のセクションの--connection-string
データベース 接続文字列に 引数を追加します。 を、このガイドで前に設定したパスワードに置き換えます<your-password>
。 また、値をDatabase=bookshelf
接続文字列に追加します。dab init --database-type "mssql" --host-mode "Development" --connection-string "Server=localhost,1433;User Id=sa;Database=bookshelf;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;"
を使用して Author エンティティを
dab add
追加します。dab add Author --source "dbo.authors" --permissions "anonymous:*"
ローカル データベースを使用して API をテストする
次に、Data API ビルダー ツールを起動して、開発中に構成ファイルがマージされていることを検証します。
を使用して
dab start
ツールを実行し、エンティティの API エンドポイントを作成します。dab start
ツールの出力には、実行中の API に移動するために使用するアドレスが含まれている必要があります。
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
ヒント
この例では、アプリケーションはポート 5000 で実行されています
localhost
。 実行中のアプリケーションのアドレスとポートが異なる場合があります。まず、 に GET 要求
/api/Author
を発行して、API を手動で試します。ヒント
この例では、URL は になります
https://localhost:5000/api/Author
。 この URL には、Web ブラウザーを使用して移動できます。次に、 の Swagger ドキュメント ページに
/swagger
移動します。ヒント
この例では、URL は になります
https://localhost:5000/swagger
。 ここでも、Web ブラウザーを使用してこの URL に移動できます。