有关数据 API 生成器 (DAB) 版本 1.2 中的更新和增强功能的发行说明和信息。
版本 1.2.10:Azure 数据库的数据 API 生成器
重要
此更新是我们自 5 月正式发布(正式版)以来的第一个重大版本。
简介:最大页面大小
数据 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限制响应大小(以 MB 为单位)的设置。 此上限适用于实际有效负载,而不是行计数,这一点很重要,因为宽列(文本、二进制、XML、JSON)每个值最多可以容纳 2 GB。
此设置通过对输出大小强制实施上限来确保性能和系统可靠性,同时保持各种数据类型的灵活性。
{
"runtime": {
"host": {
"max-response-size-mb": 158
}
}
}
简介:GraphQL 查询深度限制
GraphQL 通过关系支持深度嵌套查询,这简化了复杂的数据检索。 但是,深度嵌套会增加查询复杂性,并可能会降低性能。
新 graphql/depth-limit 设置限制最大查询深度,在功能和可靠性之间取得平衡。
{
"runtime": {
"graphql": {
"depth-limit": 2
}
}
}
其他改进
OpenAPI 增强功能:通过在生成的 OpenAPI 文档中包括更多元数据,改进了基础结构 AppBuilder 等工具的 OpenAPI 兼容性。
详细信息Postgres 遥测支持:现在
application_name已为 Postgres 连接设置,就像以前为 SQL Server 所做的那样。
详细信息重试策略调整:默认重试计数从 5 减少到 3,以遵循Microsoft Learn 最佳做法。
详细信息文化不变数据转换:数据转换现在使用
CultureInfo.InvariantCulture避免在处理浮点值时出现基于区域设置的不一致。
详细信息架构验证期间的环境变量解析:配置中使用的环境变量(例如,连接字符串)在架构验证之前已正确解析。
详细信息