适用于 GraphQL 的 Microsoft Fabric API 的限制

本文列出了 Microsoft Fabric 中用于 GraphQL 的 API 的当前常规产品限制。 我们不断改进具有新功能的 GraphQL API。 有关 Microsoft Fabric 的未来的详细信息,请参阅 Fabric 路线图

谁需要了解这些限制条件

了解 GraphQL API 的限制非常重要,尤其是为了以下目的:

  • 应用程序开发人员设计在 Fabric GraphQL API 约束下运行的应用程序
  • 数据工程师 规划数据公开策略和了解平台边界
  • 解决方案架构师 将基于 Fabric 的解决方案范围界定并设置适当的技术预期
  • Fabric 工作区贡献者 排查问题和实施解决方法以克服当前限制
  • 项目经理 在项目规划期间向利益干系人传达 Fabric 平台约束

规划 GraphQL API 实现或排查意外 API 行为时,请查看这些限制。

数据源操作

SQL Analytics 终结点数据源 仅支持读取操作。 通过 SQL Analytics 终结点(如 Lakehouses 和镜像数据库)访问的数据源不支持突变。 可以通过 GraphQL API 查询数据,但无法创建、更新或删除记录。

大小和性能限制

下表汇总了键大小、分页和性能约束:

限制类型 价值 Description 解决方法
默认页面大小 100 个项目 默认情况下,每个请求返回的最大项数 使用 GraphQL 分页 遍历较大的结果集
最大分页大小 100,000 项 通过分页可检索的项目最大总数 如果需要 10 万多个项(GraphQL 中的不常见模式),请发出多个筛选的请求
最大响应大小 64 MB API 响应有效负载的最大大小 发出多个筛选请求以较小的区块检索数据
请求超时 100 秒 单个请求的最大执行时间 优化查询或将复杂作分解为较小的请求
最大查询深度 10 个级别 查询中字段的最大嵌套级别 减少查询嵌套以避免过度提取数据时出现性能问题

存储过程限制

Azure SQL 中的存储过程、Fabric 中的 SQL 数据库和数据仓库具有特定的约束:

  • 结果集处理:仅使用存储过程返回的第一个结果集。 不支持多个结果集。
  • 元数据要求:仅支持那些其第一个结果集的元数据可以由 sys.dm_exec_describe_first_result_set 描述的存储过程。
  • 参数优先级:在配置文件和 URL 查询字符串中指定存储过程参数时,URL 查询字符串值优先。
  • 有限的 GraphQL 功能:与表或视图支持的实体相比,存储过程支持的实体的功能较少,
    • 无分页支持
    • 无排序或筛选
    • 没有基于主键的查询

已知问题

有关 GraphQL API 中的已知问题,请访问 Microsoft Fabric 已知问题