数据 API 生成器版本 1.5(2025 年 4 月)中的新增功能

数据 API 生成器 (DAB) 版本 1.5 的发行说明和更新
版本 1.5:适用于 Azure 数据库的数据 API 生成器

简介:健康端点

此版本改进了 DAB 如何传达其运行时状态。 以前,根 URL 返回了一个简单的运行状况结果:

{
  "status": "Healthy",
  "version": "1.5.50",
  "app-name": "dab_oss_1.5.50"
}

该响应显示验证(类似于 dab validate)运行且引擎处于活动状态,但它并不反映数据源或终结点的实际运行状况。

现在,/health 终结点包含基本配置详情和运行状况检查。

{
  "status": "Unhealthy",
  "version": "1.5.50",
  "app-name": "dab_oss_1.5.50",
  "configuration": {
    "rest": true,
    "graphql": true,
    "caching": false,
    "telemetry": false,
    "mode": "Development"
  },
  "checks": []
}

使用定义的阈值检查每个数据源和终结点(REST 和 GraphQL)的可用性和响应能力。

终端安全

健康端点遵循 DAB 的角色访问模型。 检查会根据设置并行运行或按顺序运行,并缓存响应以减少轮询的负载。

简介:自定义 Log-Level

DAB 现在支持可配置的日志记录级别。 可以设置全局默认值,并按命名空间重写它:

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "default": "trace | debug | information | warning | error | critical | none"
      }
    }
  }
}

使用单独命名空间重载:

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "default": "warning",
        "Azure.DataApiBuilder.Service": "information",
        "Azure.DataApiBuilder.Engine.Authorization": "error",
        "Microsoft.AspNetCore": "none"
      }
    }
  }
}

production,热重载功能支持对 log-level进行动态更新。 将忽略其他配置更改,但日志级更改会立即应用 -- 非常适合实时诊断问题。
更多。

简介:GraphQL 中的聚合

DAB 现在支持在 Microsoft SQL Server(MSSQL)的 GraphQL 查询中进行分组和聚合操作。 无需更多后端逻辑即可生成摘要和见解。

功能:

  • 聚合类型SUM、、AVGMINMAX
  • GroupBy 支持:按字段对结果进行分组
  • 针对 MSSQL 进行优化:高效可靠的查询执行
  • 改进的日志:更清晰的模式生成和执行结果输出

实现于:

HTTP 缓存标头

DAB 现在支持:

指令 含义
no-cache 仅在与服务器重新验证后使用缓存数据
no-store 根本不缓存响应
only-if-cached 仅使用缓存数据;如果不可用,则失败

更多。

增强型:OpenTelemetry

以前,DAB 仅支持默认 ASP.NET 核心范围。 此版本添加了 REST 和 GraphQL 的自定义范围和指标。

指标:

  • 活动请求:正在运行的请求的实时计数
  • 请求总数:自启动以来的累积计数
  • 总错误数:累积失败和异常

这些指标可提高运行时行为的可见性,并为更深入的遥测奠定了基础。

增强:Entra ID 身份验证提供程序

DAB 最初使用 AzureAd 枚举来配置 Azure Active Directory。 Microsoft已将其重命名为 Entra ID。

此版本作为首选值引入 EntraId 。 旧枚举(AzureAd)仍然可以用于向后兼容,而 EntraId 则与当前品牌保持一致。