クイック スタート: NoSQL でデータ API ビルダーを使用する
このクイック スタートでは、Azure Cosmos DB for NoSQL エミュレーターを対象とする一連のデータ API ビルダー構成ファイルをビルドします。
前提条件
- Docker
- .NET 8
- データ管理クライアント
- クライアントがインストールされていない場合は、Azure Data Studio をインストールします
ヒント
または、すべての開発者の前提条件が既にインストールされている GitHub Codespaces でこのクイックスタートを開きます。 独自の Azure サブスクリプションを持ち込むだけです。 GitHub アカウントには、ストレージとコア時間のエンタイトルメントが無償で含まれています。 詳細については、 GitHub アカウントの含まれているストレージとコア時間に関するページを参照してください。
Data API ビルダー CLI をインストールする
Microsoft.DataApiBuilder
NuGet から .NET ツールとしてパッケージをインストールします。
を使用して、 引数を指定
dotnet tool install
して 最新バージョンの をMicrosoft.DataApiBuilder
--global
インストールします。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/cosmosdb/linux/azure-cosmos-emulator:latest
最新のコピーを取得します。docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
ポート 8081 とポート範囲 10250から 10255 を発行して、Docker コンテナーを起動します。
docker run \ --publish 8081:8081 \ --publish 10250-10255:10250-10255 \ --detach \ mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
エミュレーターの自己署名証明書をダウンロードする
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Linux 用の Bash ステップまたは Windows の PowerShell 手順を使用して、自己署名証明書をインストールします。
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
優先するデータ管理環境を使用して、ローカル データベースに接続します。 たとえば、 Azure Data Studio、 Visual Studio Code 用の Azure Databases 拡張機能などがありますが、これらに限定されません。
ヒント
エミュレーターの既定の接続文字列は です
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
。新
bookshelf
しいデータベースとauthors
コンテナーをCreateします。この基本的な JSON データを使用してコンテナーをシードします。
[ { "id": "01", "firstName": "Henry", "lastName": "Ross" }, { "id": "02", "firstName": "Jacob", "middleName": "A.", "lastName": "Hancock" }, { "id": "03", "firstName": "Sydney", "lastName": "Mattos" }, { "id": "04", "firstName": "Jordan", "lastName": "Mitchell" }, { "id": "05", "firstName": "Victoria", "lastName": "Burke" }, { "id": "06", "firstName": "Vance", "lastName": "DeLeon" }, { "id": "07", "firstName": "Reed", "lastName": "Flores" }, { "id": "08", "firstName": "Felix", "lastName": "Henderson" }, { "id": "09", "firstName": "Avery", "lastName": "Howard" }, { "id": "10", "firstName": "Violet", "lastName": "Martinez" } ]
ヒント
データのシード処理に使用される方法は、主にデータ管理ツールに依存します。 Azure Data Studio の場合は、この JSON 配列を .json ファイルとして保存し、 インポート 機能を使用できます。
構成ファイルを作成する
DAB CLI を使用してベースライン構成ファイルをCreateします。 次に、現在の資格情報を使用して開発構成ファイルを追加します。
このスキーマ コンテンツを使用して、schema.graphql という名前の新しいファイルをCreateします。
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
を使用して、一般的な構成ファイルをCreate
dab init
します。 エミュレーターの--connection-string
既定の接続文字列を使用して 引数を追加します。dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.graphql --connection-string "AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
を使用して Author エンティティを
dab add
追加します。dab add Author --source "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
。 実行中のアプリケーションのアドレスとポートが異なる場合があります。この操作に移動して実行して、GraphQL エンドポイントに
/graphql
移動します。query { authors { items { id firstName lastName } } }
ヒント
この例では、URL は になります
https://localhost:5000/graphql
。 この URL には、Web ブラウザーを使用して移動できます。