GraphQL 架构视图和架构资源管理器的构造 API

GraphQL 的 Fabric API 自动生成一个架构,该架构基于连接的数据源定义 API 的结构。 以 GraphQL 架构定义语言(SDL)编写的架构描述了客户端可用于与数据交互的所有可用类型、字段、查询和突变。

架构视图提供完整 GraphQL 架构的只读基于文本的视图,而左窗格中的架构资源管理器允许你导航、检查和修改通过 API 公开的对象。 这些工具共同帮助你了解 API 的结构,并控制客户端可以访问哪些数据。

谁使用架构视图

架构视图和资源管理器对于:

  • 数据工程师 配置要通过 GraphQL 公开的 Fabric Lakehouse 和数据仓库对象
  • 在编写查询之前,应用程序开发人员需要了解可用的 Fabric 数据类型、字段和关系。
  • Fabric 工作区参与者 负责了解和管理他们工作区的数据访问结构
  • 在生成自定义分析应用程序时,BI 开发人员会审核 Fabric 数据关系。

使用架构视图浏览 API 的结构;并利用架构浏览器来修改公开哪些数据对象。

访问和浏览架构

可以从查询编辑器或直接从 GraphQL API 项访问架构视图。 若要打开架构视图,请从左下角选择 “架构 ”。 架构视图显示完整 GraphQL SDL 的只读基于文本的版本,其中包含所有生成的类型、字段、查询和突变。

下图显示了架构视图,左侧是架构浏览器窗格:

“API 架构视图”屏幕的屏幕截图,其中包括左窗格中的架构资源管理器。

使用左窗格中的 架构资源管理器 ,可以导航并检查 API 中的所有对象。 浏览器在架构视图和查询编辑器中均可用,因此可以在编写查询时轻松地浏览 API 结构。

展开架构资源管理器中的节点以查看:

  • 类型:从数据源表和视图生成的 GraphQL 类型
  • 查询:自动生成的读取操作,用于检索数据
  • 变更:自动生成的写入操作,用于创建、更新和删除数据(仅限数据仓库)

类型

类型表示数据的结构,并显示在生成的数据源的名称下。 下图显示了从 AdventureWorks SQL 分析端点中的 SalesOrderDetail 表生成的 SalesOrderDetail 类型:

“架构资源管理器”窗格的屏幕截图,其中显示了名为 SalesOrderDetail 的示例数据源下可用的类型展开列表。

Queries

API 自动生成用于从公开的对象检索数据的查询。 展开查询节点以查看所有可用的读取操作。

“架构资源管理器”窗格的屏幕截图,其中显示了自动生成的查询的展开列表。

突变

变更是用于创建、更新和删除数据的写操作。 展开变更节点以查看所有可用的写入操作。

“架构资源管理器”窗格的屏幕截图,其中显示了自动生成的突变的展开列表。

注意

仅为 Fabric 数据仓库的数据来源生成修改。 SQL Analytics 终结点(Lakehouses 和镜像数据库)是只读的,仅支持查询。 如果在 Schema 浏览器中看不到数据变更,请验证是否已连接到 Fabric 数据仓库。

使用架构资源管理器修改对象

API 生成初始架构后,可以使用架构资源管理器来优化通过 API 公开的内容。 架构资源管理器提供管理选项,让你无需修改基础数据源即可控制 API 的结构。 这些工具对于维护干净有序的 API 至关重要,该 API 仅公开客户端所需的数据。

访问修改选项

若要修改对象,请选择架构资源管理器中任何类型的旁边的省略号(...)。 以下示例显示了 SalesOrderDetail 类型的修改菜单:

架构资源管理器的屏幕截图,其中选择了省略号,其中显示了可用的菜单选项。

可用的修改选项

更新架构 - 将 GraphQL 架构与数据源中的最新结构同步。 将新表、视图或列添加到数据源并想要通过 API 公开这些表、视图或列时,请使用此功能。 此操作在保持您的现有配置的同时,发现并添加新对象。

重命名 - 更改对象在 GraphQL API 中的显示方式。 这对于创建更直观的 API 命名约定或隐藏客户端的实现详细信息非常有用。 例如,可以重命名 tbl_SalesOrderDetail 为简单 SalesOrderDetail。 重命名仅影响 API 架构,不会修改基础数据源对象。

从架构中删除 - 从 GraphQL API 中删除对象,使其对客户端不可用。 使用此函数可隐藏敏感数据、删除已弃用的对象或简化 API 图面。 数据仍保留在您的数据源中,仅移除 API 曝露。

管理关系 - 打开关系管理界面,可在其中定义对象如何相互连接。 关系支持嵌套查询和图形遍历,让客户端在单个请求中检索相关数据。 有关详细信息,请参阅 在 Fabric API for GraphQL 中管理关系

属性 - 显示有关对象的详细元数据,包括数据源中显示的原始名称、GraphQL 类型名称、所有者和位置(工作区和数据源名称)。 使用此方法可验证如何在数据源和 GraphQL API 之间映射对象。

启用和禁用查询和突变

查询和突变的启用或禁用功能为管理员和开发人员提供对 API 访问和使用情况的精细控制。 通过它,你可以选择性地激活或停用 GraphQL 架构中的特定查询和突变。 这样,你便可以动态管理 API 功能,而无需修改代码或部署更改。

将此功能用于以下方案:

  • API 版本控制:在将客户端转移到新版本时禁用已弃用的操作。
  • 维护时段:在数据维护期间暂时禁用写入操作(变更)
  • 安全性和符合性:限制对敏感作的访问,而无需将其从架构中删除
  • 分阶段推出:在广泛推出之前启用新的查询或突变进行测试

架构资源管理器中的查询和突变还有其他两个选项:

  • 禁用:防止任何请求运行查询或突变。 如果尝试执行,则会返回错误。 禁用查询或突变后,将发生架构重载,查询或突变在架构资源管理器中灰显。

架构资源管理器中显示的禁用查询或变更选项的屏幕截图。

  • 启用:允许重新启用以前禁用的查询或突变。 在选择 “启用 ”选项时发生的架构重载作后,查询或突变将立即可用。

启用架构资源管理器上显示的突变选项查询的屏幕截图。

注意

从存储过程自动生成的查询和突变的行为与从表或视图生成的查询和突变的行为不同。 只能删除它们,不能禁用。 删除后,可以使用 “获取数据 ”或 “更新架构 ”选项读取它们。 有关详细信息,请参阅 存储过程