バージョン 0.11 以前の新機能
Data API Builder バージョン 0.11 以前のすべての更新と機能強化に関するリリース ノートと情報。
バージョン 0.11 の新機能
Data API Builder バージョン 0.10 の更新と機能強化に関するリリース ノートと情報。
SQL Data Warehouse の GraphQL サポート
SQL Data Warehouse で GraphQL エンドポイントがサポートされるようになりました。
Azure Cosmos DB for NoSQL フィルター処理の強化
Azure Cosmos DB for NoSQL では、 演算子を使用した入れ子になったフィルター、ID 変数、文字列配列の検索が contains
サポートされるようになりました。
コマンド ライン インターフェイスを使用してアプリケーション データ収集を有効にする
DAB コマンド ライン インターフェイス (CLI) を使用して、Application Insights でのデータ収集を有効にできるようになりました。
バージョン 0.10 の新機能
Data API Builder バージョン 0.10 の更新と機能強化に関するリリース ノートと情報。
一般提供に近づくにつれて、安定性に焦点が移ります。 コードの品質とエンジンの安定性に関するすべての取り組みについては、この記事で詳しく説明しているわけではありませんが、この一覧では重要な更新について説明します。
GitHub リリース ノート
すべての変更と機能強化の包括的な一覧については、次のリリース ページを参照してください。
- 2024-02-06 - バージョン 0.10.23
- 2024-01-31 - バージョン 0.10.21
- 2023-12-07 - バージョン 0.10.11
メモリ内キャッシュ
バージョン 0.10 では、REST エンドポイントと GraphQL エンドポイントのメモリ内キャッシュが導入されています。 内部キャッシュ用に設計されたこの機能は、将来の分散キャッシュの基礎を築きます。 メモリ内キャッシュを使用すると、繰り返しクエリによるデータベースの負荷が軽減されます。
キャッシュ シナリオ
- データベースの負荷を軽減する: キャッシュには負荷の高いクエリの結果が格納されるため、データベース呼び出しを繰り返す必要がなくなります。
- API のスケーラビリティの向上: キャッシュでは、データベース要求を増やすことなく、より頻繁な API 呼び出しがサポートされ、API の機能が大幅にスケーリングされます。
構成の変更
キャッシュ設定は、セクションと各エンティティで runtime
使用でき、詳細な制御を提供します。
ランタイム設定:
{
"runtime": {
"cache": {
"enabled": true,
"ttl-seconds": 6
}
}
}
- キャッシュは既定で無効になっています。
- 既定の有効期間 (TTL) は 5 秒です。
エンティティの設定:
{
"Book": {
"source": {
"object": "books",
"type": "table"
},
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
},
"rest": {
"enabled": true
},
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "*"
}
]
}
],
"cache": {
"enabled": true,
"ttl-seconds": 6
}
}
}
CLI での構成の検証
CLI では、構成ファイルのエラーまたは不整合のチェックがサポート dab validate
され、開発ワークフローが強化されました。
検証手順
- スキーマの検証
- 構成プロパティの検証
- 構成アクセス許可の検証
- データベース接続の検証
- エンティティ メタデータの検証
プレビュー機能
バージョン 0.9 の新機能
Data API Builder 0.9 の最も関連性の高い変更と改善の詳細を次に示します。
GitHub リリース ノート
すべての変更と機能強化の包括的な一覧については、次のリリース ページを参照してください。
DAB のセルフホスティング時に Application Insights を有効にする
特にデータ API ビルダーが Azure にデプロイされている場合に、監視とデバッグのエクスペリエンスを向上させるために、ログを Application Insights にストリーミングできるようになりました。 Application Insights との統合を有効にして構成するために、新しい telemetry
セクションを構成ファイルに追加できます。
"telemetry": {
"application-insights": {
"enabled": true, // To enable/disable application insights telemetry
"connection-string": "{APP_INSIGHTS_CONNECTION_STRING}" // Application Insights connection string to send telemetry
}
}
Application Insights の使用に関するドキュメント ページのすべての詳細を確認します。
REST 要求本文での余分なフィールドの無視のサポート
新しい request-body-strict
オプションを使用すると、REST ペイロードに余分なフィールドが含まれているとエラー (既定の動作、下位互換性) が生成されるか、追加のフィールドが自動的に無視されるかを判断できるようになりました。
"runtime": {
"rest": {
"enabled": true,
"path": "/api",
"request-body-strict": true
},
...
}
オプションを request-body-strict
に false
設定すると、関連するデータベース オブジェクトにマッピングされていないフィールドは、エラーを生成せずに無視されます。
接続のアプリケーション名の mssql
追加
データ API ビルダーが接続文字列 mssql
に挿入されるようになりました。データベース型の場合のみ、 プロパティとして値 dab-<version>
が Application Name
挿入され、データベース サーバー内の接続を簡単に識別できるようになりました。 が接続文字列に既に存在する場合 Application Name
は、データ API ビルダーのバージョンが追加されます。
でデータ型をサポート time
する mssql
time
データベースで mssql
データ型がサポートされるようになりました。
のトリガーを持つテーブルのミューテーション mssql
データベースのトリガーを持つテーブルで、ミューテーションが mssql
完全にサポートされるようになりました。
ユーザーがテーブルに読み取り専用フィールドを更新または挿入できないようにする
データベースの読み取り専用フィールドを自動的に検出し、ユーザーがそれらのフィールドを更新または挿入できないようにします。
バージョン 0.8 の新機能
Data API Builder 0.8 の最も関連性の高い変更と改善の詳細を次に示します。
GitHub リリース ノート
すべての変更と機能強化の包括的な一覧については、次のリリース ページを参照してください。
.env ファイルのサポートを追加しました
環境変数は 、プレーン テキストの公開からシークレットを保護し、さまざまな設定で値のスワップを可能にします。 ただし、これらの変数は、ユーザーまたはコンピューターのスコープで設定する必要があります。これにより、変数名が重複すると、プロジェクト間の変数 "ブリード" が発生する可能性があります。 より良い代替手段は、環境ファイルです。 詳細については、「 データ API ビルダーの環境ファイル - ブログ」を参照してください。
バージョン 0.7.6 の新機能
この記事では、0.7.6 リリースのリリース ノートについて説明します。
GitHub pull requests
OpenAPI v3-0-1 記述ドキュメント作成の初期サポート
データ API ビルダーでは、サービスに関する有用な情報を含む説明ドキュメントを生成および公開するための OpenAPI 標準がサポートされています。 これらのドキュメントは、ランタイム構成ファイルと各データベース オブジェクトのメタデータから作成されます。 これらのオブジェクトは、同じ構成ファイルで定義されている REST 対応エンティティに関連付けられます。 その後、UI を介して公開され、シリアル化されたファイルとして使用できるようになります。
OpenAPI および Data API ビルダーの詳細については、「 OpenAPI」を参照してください。
構成ファイルの統合を許可する
2 つの構成ファイルを自動的にマージする機能を追加します。
環境固有の設定の管理を簡略化するために、複数のベースラインと環境固有の構成ファイルのペアを維持できます。 たとえば、 開発 と 運用の個別の構成を維持できます。 この手順では、異なる環境間のすべての共通設定を含む基本構成ファイルを作成します。 その後、変数を DAB_ENVIRONMENT
設定することで、Data API ビルダーによって使用するためにマージする構成ファイルを制御できます。
詳細については、「 CLI リファレンス」を参照してください。
トランザクションでの GraphQL と REST の変更の実行
データ API ビルダーは、特定の種類の GraphQL 要求と REST 要求を実行するデータベース トランザクションを作成します。
多くの要求があります。これには、複数のデータベース クエリを実行する必要があります。 たとえば、更新プログラムから結果を返すには、最初に更新のクエリを実行する必要があります。次に、新しい値を読み取ってから返す必要があります。 要求で複数のデータベース クエリを実行する必要がある場合、Data API ビルダーは 1 つのトランザクション内でこれらのデータベース クエリを実行するようになりました。
REST のコンテキスト内でこの機能の詳細については、 REST ドキュメント と GraphQL の GraphQL ドキュメントを参照してください。
バージョン 0.6.14 の新機能
この記事では、Azure Database 用 Data API Builder の 2023 年 3 月リリースのパッチについて説明します。
バグの修正
- Cosmos のクエリ フィルター アクセス拒否の問題に対処します。
- Cosmos DB では現在、フィールド レベルの承認はサポートされていません。ユーザーがランタイム構成でアクセス許可を
field
誤って渡す状況を回避するために、検証チェックを追加しました。
バージョン 0.6.13 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.6.13
GraphQL スキーマをエクスポートする新しい CLI コマンド
GraphQL スキーマをエクスポートするための新しいオプションが追加されました。 これにより、DAB サーバーが起動し、指定された場所に書き込む前に、クエリを実行してスキーマを取得します。
dab export --graphql -c dab-config.development.json -o ./schemas
このコマンドは、./schemas ディレクトリに GraphQL スキーマ ファイルを生成します。 構成ファイルへのパスは省略可能なパラメーターで、'dab-config' を除き、既定値は 'dab-config.json' です。<>DAB_ENVIRONMENT.json' が存在します。ここで、DAB_ENVIRONMENTは環境変数です。
MsSql の作成アクションに対するデータベース ポリシーのサポート
MsSql のすべての CRUD (作成、読み取り、更新、削除) 操作で、データベース ポリシーがサポートされるようになりました。 例:
"entities":{
"Revenue":{
"source": "revenues",
"permissions":[
"role": "authenticated",
"actions": [
{
"action": "Create",
"policy": {
"database": "@item.revenue gt 0"
}
},
"read",
"update",
"delete"
]
]
}
}
エンティティの Revenue
以前の構成は、ロール Authenticated
を使用して挿入操作を実行しているユーザーが、収益が 0 以下のレコードを作成できないことを示しています。
CLI を使用して GraphQL パスを構成し、REST エンドポイントと GraphQL エンドポイントをグローバルに無効にする機能
コマンドに対してさらに 3 つのオプションが init
サポートされるようになりました。
graphql.path
: カスタム GraphQL パスを指定するにはrest.disabled
: REST エンドポイントをグローバルに無効にするにはgraphql.disabled
: GraphQL エンドポイントをグローバルに無効にするには
たとえば、コマンドは init
ランタイム セクションを含む構成ファイルを生成します。
dab init --database-type mssql --rest.disabled --graphql.disabled --graphql.path /gql
"runtime": {
"rest": {
"enabled": false,
"path": "/api"
},
"graphql": {
"allow-introspection": true,
"enabled": false,
"path": "/gql"
},
}
CLI でのビューの追加と更新に必須のキー フィールド
CLI を使用dab add
して構成に新しいデータベース ビュー (経由) を追加するたびに、公開されたオプションsource.key-fields
を使用してキー フィールド (主キーとして使用される) をユーザーが提供することが必須になりました。 また、CLI を使用して構成ファイル内のビューの構成 (を使用 dab update
) 内の何かを更新するたびに、基になるデータベース内のビューの定義 (ソースの種類、キー フィールドなど) に関連するものが更新された場合は、更新コマンドでもキーフィールドを指定する必要があります。
ただし、構成で明示的な主キーが指定されていないビューは引き続きサポートされていますが、このようなビューの構成は構成ファイルに直接書き込む必要があります。
たとえば、コマンドを dab add
使用してビューを追加します。
dab add books_view --source books_view --source.type "view" --source.key-fields "id" --permissions "anonymous:*" --rest true --graphql true
このコマンドは、次の例のようなエンティティの books_view
構成を生成します。
"books_view": {
"source": {
"type": "view",
"object": "books_view",
"key-fields":[
"id"
]
},
"permissions": [
{
"role": "anonymous",
"actions": [
"*"
]
}
],
"rest": true,
"graphql": true
}
Azure Storage リンクを GitHub リンクに置き換える
DAB はオープンソースになったため、ストレージ アカウントから成果物をダウンロードする必要はありません。 代わりに、GitHub から直接ダウンロードできます。 そのため、リンクは適宜更新されます。
バージョン 0.5.34 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.5.34
REST と GraphQL が有効なフラグをランタイム レベルで優先する
ランタイム レベルですべてのエンティティに対する REST/GraphQL 要求を有効または無効にするための新しいオプションが追加されました。 グローバルに無効にした場合、個々のエンティティ設定に関係なく、REST または GraphQL 要求を介してアクセスできるエンティティはありません。 グローバルに有効にすると、エンティティ レベルの設定で明示的に無効にしない限り、個々のエンティティに既定でアクセスできます。
"runtime": {
"rest": {
"enabled": false,
"path": "/api"
},
"graphql": {
"allow-introspection": true,
"enabled": false,
"path": "/graphql"
}
}
要求ログの関連付け ID
デバッグを支援するために、要求中に生成されるすべてのログに関連付け ID をアタッチします。 多くの要求が行われる可能性があるため、デバッグ プロセスを支援するには、特定の要求に対するログを識別する方法が重要です。
エンジンと CLI でのストアド プロシージャのワイルドカード操作のサポート
ストアド プロシージャの場合、ワイルドカード *
アクションを使用してロールを構成できるようになりましたが、アクションにのみ execute
展開されます。
バージョン 0.5.32 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.5.32-beta
CLI を使用して REST パスをカスタマイズする機能
コマンドでinit
、REST API のパスをカスタマイズするための新しいオプション--rest.path
が導入されました。
dab init --database-type mssql --connection-string "Connection-String" --rest.path "rest-api"
このコマンドは、 のプレフィックス rest-api
を使用して REST エンドポイントを構成します。 REST エンドポイントの完全なパスは、 https://<dab-server>/rest-api/<entity-name>
オプションを使用しない場合 --rest.path
、REST エンドポイントは既定のプレフィックス api
で構成されます。 この場合の完全なパスは次のようになります。 https://<dab-server>/api/<entity-name>
MAR のデータ API ビルダー コンテナー イメージ
Azure Database 用 Data API Builder の公式 Docker イメージが 、Microsoft Artifact Registry で利用できるようになりました。
発行されたイメージを使用する手順については、「 Microsoft コンテナー レジストリ - データ API ビルダー」を参照してください。
GraphQL フラグメントのサポート
フラグメントは、graphQL クエリの再利用可能な部分です。 異なるクエリで同じフィールドを照会する必要があるシナリオでは、繰り返されるフィールドを fragment と呼ばれる単一の再利用可能なコンポーネントに統合できます。
フラグメントの詳細については、「 GraphQL クエリ」を参照してください。
型Character
で 呼び出されるdescription
フラグメントは、次に定義されます。
fragment description on Character {
name
homePlanet
primaryFunction
}
定義されたフラグメントを使用する GraphQL クエリは、次に示すように構築できます。
{
Player1: Player{
id
playerDescription{
...description
}
}
}
前のクエリの結果には、次のフィールドが含まれています。
{
Player1: Player{
id
playerDescription{
name
homePlanet
primaryFunction
}
}
}
BinSkim を有効にして Policheck アラートを修正する
BinSkim は、コンパイラやリンカーの設定とその他のセキュリティ関連のバイナリ特性を検証する、移植可能な実行可能ファイル (PE) の軽量スキャナーです。 パイプライン内の static-tools
パイプライン タスクが追加され、パイプラインの実行ごとに BinSkim スキャンが実行されます。 PoliCheck システムは、全体の Global Readiness ポリシーの一部として、テキストおよびコード レビュー要件に準拠し続けるのに役立つ一連のツールとデータです。 Policheck スキャンによって生成されるアラートは、機密性の高い用語に関して準拠するように修正されています。
バージョン 0.5.0 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.5.0-beta
パブリック JSON スキーマ
パブリック JSON スキーマでは、JSON スキーマをサポートする Visual Studio Code などの IDE を使用している場合は、"intellisense" がサポートされます。 basic-empty-dab-config.json
フォルダー内のsamples
ファイルには、ファイルを手動で作成するときの開始点の例がありますdab-config.json
。
パブリック Microsoft.DataApiBuilder
NuGet
Microsoft.DataApiBuilder
は、次のように dotnet ツールを使用して簡単にインストールできるように、 ここで パブリック NuGet パッケージとして使用できるようになりました。
dotnet tool install --global Microsoft.DataApiBuilder
Azure SQL のストアド プロシージャの新しい execute
アクション
新しい execute
アクションは、ソースの型が のエンティティを permissions
バックしている場合にのみ、構成ファイルの セクションで許可される唯一の stored-procedure
アクションとして導入されます。 既定では、このようなエンティティに対してはメソッドのみがPOST
許可され、名前にプレフィックスexecute
が追加された GraphQL mutation
操作のみが構成されます。 構成ファイルの セクションで許可されている methods
を明示的に rest
指定すると、この動作がオーバーライドされます。 同様に、GraphQL の場合は、 operation
セクションの を graphql
オーバーライドして、代わりに にすることができます query
。 詳細については、「 ビューとストアド プロシージャ」を参照してください。
新しい mappings
セクション
各 entity
の下のmappings
セクションでは、データベース オブジェクトのフィールド名と、対応する公開されているフィールド名の間のマッピングが、GraphQL エンドポイントと REST エンドポイントの両方に対して定義されています。
形式は次のようになります:
<database_field>: <entity_field>
例:
"mappings":{
"title": "descriptions",
"completed": "done"
}
関連するデータベース オブジェクトのフィールドは title
、GraphQL 型のフィールド、または REST 要求と応答ペイロードのフィールドにマップされます description
。
Azure SQL でのセッション コンテキストのサポート
追加のセキュリティ層 (行レベル セキュリティ (RLS) など) を有効にするために、DAB では、SESSION_CONTEXT経由で基になる Sql Server データベースへのデータの送信がサポートされるようになりました。 詳細については、SESSION_CONTEXT: ランタイムからデータベースへの承認に関する詳細なドキュメントを参照してください。
PostgreSQL のドキュメント内の入れ子になったオブジェクトに対するフィルター処理のサポート
PostgreSQL を使用すると、スキーマで定義されているオブジェクトまたは配列リレーションシップを使用できるようになりました。これにより、Azure SQL と同様に、入れ子になったオブジェクトに対してフィルター操作を実行できます。
query {
books(filter: { series: { name: { eq: "Foundation" } } }) {
items {
title
year
pages
}
}
}
Cosmos DB NoSQL でのスカラー リストのサポート
Cosmos DB にスカラーのクエリ List
機能が追加されました。
この型定義について考えてみましょう。
type Planet @model(name:"Planet") {
id : ID,
name : String,
dimension : String,
stars: [Star]
tags: [String!]
}
次のようなリストをフェッチするクエリを実行できるようになりました
query ($id: ID, $partitionKeyValue: String) {
planet_by_pk (id: $id, _partitionKeyValue: $partitionKeyValue) {
tags
}
}
ログ レベルを使用したログのサポートの強化
- が
Production
Development
と の場合host.mode
のエンジンの既定のログ レベルは、それぞれ とDebug
にError
更新されます。 - エンジンの起動時に、エンティティのすべての列に対して、公開されたフィールド名や主キーなどの情報がログに記録されます。 この動作は、フィールド マッピングが自動生成されるときにも発生します。
- ローカル実行シナリオでは、エンジンの起動時に生成および実行されるすべてのクエリがレベルで
Debug
ログに記録されます。 - エンティティごとに、 などの
source.fields
target.fields
cardinality
リレーションシップ フィールドがログに記録されます。 データベース (または構成ファイルから) から推論された多くのリレーションシップlinking.object
、、linking.source.fields
、およびlinking.target.fields
がログに記録される場合。 - 受信要求ごとに、要求のロールと認証状態がログに記録されます。
- CLI では、バージョンは、
Microsoft.DataAPIBuilder
それぞれのコマンドの実行に関連付けられているログと共にログに記録されます。
更新された CLI
--no-https-redirect
オプションが コマンドにstart
追加されます。 このオプションを使用すると、 からhttp
への要求の自動リダイレクトをhttps
防止できます。MsSql では、 コマンドで を使用して
--set-session-context true
セッション コンテキストをinit
有効にすることができます。 サンプル コマンドを次の例に示します。dab init --database-type mssql --connection-string "Connection String" --set-session-context true
プロバイダー、対象ユーザー、発行者などの認証の詳細は、 コマンドの オプション
--auth.provider
、--auth.audience
、および--auth.issuer.
をinit
使用して構成できます。 サンプル コマンドを次のサンプルに示します。dab init --database-type mssql --auth.provider AzureAD --auth.audience "audience" --auth.issuer "issuer"
エンティティ名が指定されていない場合のわかりやすいエラー メッセージ。
バージョン 0.4.11 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.4.11-alpha
セクションの JSON スキーマを data-source
更新しました
構成ファイル内のセクションは data-source
、サポートされているすべてのデータベースで一貫性が保たれるように更新されますが、各データベースでカスタム構成が可能になります。 データベースに固有のすべてのプロパティをグループ化するための新しいセクション options
が導入されました。 例:
{
"$schema": "https://dataapibuilder.azureedge.net/schemas/v0.4.11-alpha/dab.draft.schema.json",
"data-source": {
"database-type": "cosmosdb_nosql",
"options": {
"database": "PlaygroundDB",
"graphql-schema": "schema.gql"
},
"connection-string": "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;"
}
}
セクションで使用できる要素は、 options
選択した database-type
によって異なります。
Azure SQL および SQL Server のドキュメント内の入れ子になったオブジェクトに対するフィルター処理のサポート
Azure SQL と SQL Server では、スキーマで定義されているオブジェクトまたは配列リレーションシップを使用できます。これにより、入れ子になったオブジェクトに対してフィルター処理を実行できます。
query {
books(filter: { series: { name: { eq: "Foundation" } } }) {
items {
title
year
pages
}
}
}
ストアド プロシージャのサポートの強化
REST および GraphQL でのストアド プロシージャの完全なサポート。 パラメーターを持つストアド プロシージャが 100% サポートされるようになりました。 ストアド プロシージャで Data API ビルダーを使用する方法については、ストアド プロシージャのドキュメントを参照してください。
Cosmos DB の新しい database-type
値の名前が変更されました
Cosmos DB での PostgreSQL API のサポートが追加されました。 統合 data-source
セクションでは、 属性 database-type
はデータベースの種類を示します。 Cosmos DB では複数の API がサポートされているため、現在サポートされているデータベースの種類は と cosmosdb_postgresql
ですcosmosdb_nosql
。
"data-source": {
"database-type": "cosmosdb_nosql",
"options": {
"database": "PlaygroundDB",
"graphql-schema": "schema.gql"
}
}
の CLI プロパティの名前を変更する cosmosdb_nosql
前のセクションで説明した構成の変更に従って、CLI プロパティの名前は、Cosmos DB NoSQL API の と cosmosdb_nosql-container
にcosmosdb_nosql-database
従って変更されるようになりました。
dab init --database-type "cosmosdb_nosql" --graphql-schema schema.gql --cosmosdb_nosql-database PlaygroundDB --cosmosdb_nosql-container "books" --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;" --host-mode "Development"
Postgres でマネージド ID がサポートされるようになりました
これで、ユーザーは構成でアクセス トークンを指定して、マネージド ID で認証することもできます。 または、ユーザーは接続文字列でパスワードを指定できないので、ランタイムは既定のマネージド ID トークンのフェッチを試みます。 これが失敗した場合、接続文字列にパスワードなしで接続が試行されます。
Azure MySQL の Microsoft Entra ID ユーザー認証をサポートする
Microsoft Entra ID プラグインを使用して MySQL で認証するためのユーザー トークンをパスワード フィールドとして追加しました。
バージョン 0.3.7 の新機能
このバージョンのリリース ノートの完全な一覧は、GitHub で入手できます。 https://github.com/Azure/data-api-builder/releases/tag/v0.3.7-alpha
サポートの表示
REST と GraphQL の両方でビューがサポートされるようになりました。 たとえば dbo.vw_books_details
、ビューがある場合は、次 dab
のコマンドを使用して表示できます。
dab add BookDetail --source dbo.vw_books_details --source.type View --source.key-fields "id" --permissions "anonymous:read"
オプションは source.key-fields
、ビューの主キーによるナビゲーションをビューにも実装できるように、アイテムを一意に識別するために使用されるビューのフィールドを指定するために使用されます。 ビューが更新可能かどうかに応じて、アクション (アクションなど create
) を有効または無効にするように DAB を構成するのは開発者の責任です。
ストアド プロシージャのサポート
REST 要求でストアド プロシージャがサポートされるようになりました。 ストアド プロシージャがある場合は、たとえば dbo.stp_get_all_cowritten_books_by_author
、次 dab
のコマンドを使用して公開できます。
dab add GetCowrittenBooksByAuthor --source dbo.stp_get_all_cowritten_books_by_author --source.type "stored-procedure" --permissions "anonymous:read" --rest true
パラメーターは、REST エンドポイントを呼び出すときに URL クエリ文字列で渡すことができます。
http://<dab-server>/api/GetCowrittenBooksByAuthor?author=isaac%20asimov
注意
開発者は、ストアド プロシージャを呼び出すときに特定の HTTP 動詞を許可または拒否するアクション (アクションなど create
) を有効または無効にするように DAB を構成する必要があります。 たとえば、この例で使用されているストアド プロシージャでは、その目的がデータを返す場合、アクションのみを許可するのが理に read
かなっています。
Microsoft Entra ID 認証
Microsoft Entra ID 認証が完全に機能するようになりました。 詳細については、「 Microsoft Entra ID を使用した認証」を参照してください。
ローカル認証用の新しいシミュレーター認証プロバイダー
ローカルでの開発時に認証された要求のテストを簡略化するために、新 simulator
しい認証プロバイダーを使用できます。 プロバイダー simulator
は構成可能な認証プロバイダーであり、すべての要求を認証済みとして扱うように Data API ビルダー エンジンに指示します。 詳細については、こちらを参照してください: ローカル認証
Azure Cosmos DB のドキュメント内の入れ子になったオブジェクトに対するフィルター処理のサポート
Azure Cosmos DB では、スキーマで定義されているオブジェクトまたは配列リレーションシップを使用できます。これにより、入れ子になったオブジェクトに対してフィルター操作を実行できます。
query {
books(first: 1, filter : { author : { profile : { twitter : {eq : ""@founder""}}}})
id
name
}
}