次の方法で共有


Data API Builder バージョン 1.2 の新機能 (2024 年 8 月)

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 が使用されるようになりました。
    詳細

  • スキーマ検証中の環境変数の解決: 構成で使用される環境変数 (接続文字列など) が、スキーマ検証の前に正しく解決されるようになりました。
    詳細