Data API Builder (DAB) バージョン 1.2 の更新プログラムと機能強化に関するリリース ノートと情報。
リリース 1.2.10: Azure Database 用データ API ビルダー
大事な
この更新プログラムは、5 月の一般公開 (GA) 以来、初めての重要なリリースです。
紹介: 最大ページサイズ
データ API ビルダーは、REST エンドポイントと GraphQL エンドポイントでクエリ結果を 自動的に改ページ処理 します。 改ページにより、大規模なテーブルに対するクエリで管理可能な結果が返され、データベースと DAB の両方が過度に大きな応答から保護されます。
既定では、DAB は 100 レコードのページ サイズを使用し、 default-page-size 設定で構成できます。 ユーザーは、$first キーワードを使用して、既定をバイパスして、より多くのレコードを要求できます。
不正使用を防ぎ、エンドポイントのパフォーマンスを維持するために、DAB では、ユーザーが要求できるレコードの最大数を上限とする max-page-size 設定がサポートされるようになりました。 このオプションを使用すると、開発者は重要なセーフガードを追加しながら、制御と柔軟性を実現できます。
{
"runtime": {
"pagination": {
"max-page-size": 1000,
"default-page-size": 100
}
}
}
概要: 最大応答サイズ
結果セットが大きいと、DAB とデータベースの両方が過剰になる可能性があります。 バージョン 1.2 では、応答サイズをメガバイト単位で制限する設定である max-response-size-mbが導入されています。 この上限は、行数ではなく実際のペイロードに適用されます。ワイド列 (テキスト、バイナリ、XML、JSON) は値あたり最大 2 GB を保持できるため、重要です。
この設定は、さまざまなデータ型の柔軟性を維持しながら、出力サイズに上限を適用することで、パフォーマンスとシステムの信頼性を確保するのに役立ちます。
{
"runtime": {
"host": {
"max-response-size-mb": 158
}
}
}
概要: GraphQL クエリの深度制限
GraphQL では、リレーションシップを介して入れ子になった深いクエリがサポートされるため、複雑なデータの取得が簡単になります。 ただし、深い入れ子を使用すると、クエリの複雑さが増し、パフォーマンスが低下する可能性があります。
新しい graphql/depth-limit 設定では、クエリの最大深度が制限され、機能と信頼性のバランスが取られます。
{
"runtime": {
"graphql": {
"depth-limit": 2
}
}
}
その他の機能強化
OpenAPI の機能強化: 生成された OpenAPI ドキュメントにメタデータを追加することで、Infragistics AppBuilder などのツールの OpenAPI 互換性が向上しました。
詳細Postgres テレメトリのサポート: は、以前に SQL Server に対して行われたように、Postgres 接続用に設定されるようになりました。
詳細再試行ポリシーの調整: Microsoft Learn のベスト プラクティスに従うために、既定の再試行回数が 5 から 3 に減りました。
詳細カルチャに依存しないデータ変換: データの変更では、浮動小数点値を処理するときにロケールベースの不整合を回避するために、
CultureInfo.InvariantCultureが使用されるようになりました。
詳細スキーマ検証中の環境変数の解決: 構成で使用される環境変数 (接続文字列など) が、スキーマ検証の前に正しく解決されるようになりました。
詳細