数据 API 生成器版本 1.3(2024 年 11 月)中的新增功能

有关数据 API 生成器 (DAB) 版本 1.3 中的更新和增强功能的发行说明和信息。
版本 1.3:Azure 数据库的数据 API 生成器

介绍:热重载

开发人员循环现在更小、更快、更高效。 以前,更改配置文件需要停止并重启引擎。 借助热重载,DAB 会自动检测配置更改,无需重启引擎即可应用更新。 可以立即测试更改并保持专注。 从版本 1.3 起,几乎每个 DAB 功能都支持热重载。

热重载始终处于打开状态,无法禁用。 但是,在 production 模式下,它不会应用配置更改。 此行为可防止未经授权的更新以无提示方式重新配置终结点。 在将来的版本中, production 模式还支持 log-level 该设置,该功能可按命名空间调整日志详细程度,以帮助诊断运行时行为。

简介:Cosmos 架构生成

数据 API 生成器是第一个命令行接口(CLIS)之一,可帮助开发人员为 NoSQL 数据源生成架构。 配置 Cosmos DB 时,DAB 需要架构来生成结构化 GraphQL 终结点。

手动创建该架构可能比较复杂。 在此版本中,DAB CLI 包含架构生成功能。 通过基于定义的实体对数据进行采样,它会生成一个工作架构,只需最少的评审和更新即可开始。

dab init 
  --database-type cosmosdb_nosql 
  --connection-string @env('cosmos-connection-string') 
  --cosmosdb_nosql-database MyDatabase
  --cosmosdb_nosql-container MyContainer

dab add MyEntity
  --source "MyDatabase.MyEntity"
  --permissions "anonymous:*"
  --graphQL "MyEntity:MyEntities"

dab export
  --graphql
  --generate
  -o ./schemas

dab start

命令行所有内容

随着数据 API 生成器的发展,配置文件会变长且更复杂。 这种格式是 JSON——易于阅读和编辑——但也很容易由于逗号或括弧的错误放置而导致出错。 这就是 DAB CLI 帮助开发人员在不直接编辑 JSON 的情况下安全地修改配置的原因。

在版本 1.3 中,新的dab configure子命令几乎更新了runtimedata-source节中的所有设置。 此更新使 DAB 更接近完整的 CLI 覆盖范围,每个版本都会继续扩展该覆盖范围。

示例:更新 data-source

选项 1:一个全面的命令

dab configure 
  --data-source.database-type cosmosdb_nosql
  --data-source.options.database testdbname 
  --data-source.options.schema testschema.gql

选项 2:几个较小的命令

dab configure --data-source.database-type cosmosdb_nosql
dab configure --data-source.options.database testdbname
dab configure --data-source.options.schema testschema.gql

关于database-type的注释

某些选项特定于数据库类型。 如果配置当前使用 mssql 且应用 Cosmos DB 选项而不首先切换到 cosmosdb_nosql,则命令将失败。

更多示例

dab configure --runtime.graphql.enabled true
dab configure --runtime.graphql.path /updatedPath
dab configure --runtime.graphql.allow-introspection true 
dab configure --runtime.graphql.multiple-mutations.create.enabled true

DAB 继续朝着完整的命令行覆盖方向发展,即使对于深度嵌套的配置属性也是如此。