在 Fabric 中创建 API for GraphQL 并添加数据

创建 API,链接数据源,通过 API 公开你选择的数据,以开始使用 Fabric API for GraphQL。 Fabric 会根据数据自动生成 GraphQL 架构,应用程序可在几分钟内完成连接。

应创建 GraphQL API 的人员

在 Fabric 中创建 GraphQL API 旨在实现以下目的:

  • 数据工程师 通过现代 API 将 Fabric 湖仓和数据仓库中的数据公开,以便供应用程序使用
  • 想要快速创建数据访问 API 且无需编写后端代码的 Fabric 工作区参与者
  • BI 开发人员 构建需要以编程方式访问 Fabric 数据的自定义分析应用程序
  • 集成开发人员 为自定义应用程序和自动化工作流创建数据访问层
  • 首选 GraphQL 灵活类型安全方法而不是直接数据库连接的开发团队

如果需要创建新的 GraphQL API,以便向应用程序公开 Fabric lakehouse、仓库或数据库数据,请使用本指南。

先决条件

若要为 GraphQL 创建 API,需要:

你的权限:

  • 成为要在其中创建 API 的 Fabric 工作区的成员
  • 在该工作区中至少具有 参与者 角色(或更高角色:管理员、成员)

组织设置:

  • Fabric 管理员或容量管理员必须启用“用户可以创建 Fabric 项” 租户设置

    租户设置的屏幕截图,以及启用“用户可以创建结构项”选项的位置。

  • 工作区必须由 Fabric 容量支撑(高级版、试用版或 Fabric 容量)

数据源访问(后续步骤):

  • 读取计划通过 GraphQL API 公开的数据源的权限
  • 可以通过工作区成员身份或直接数据源权限授予权限
  • 本指南使用链接到镜像数据库的 AdventureWorks SQL 分析终结点作为示例数据源。 若要获取 AdventureWorks 示例数据,请参阅 在 SQL 数据库中加载 AdventureWorks 示例数据

创建 API for GraphQL

若要创建 API for GraphQL:

  1. 转到 Fabric 门户 https://fabric.microsoft.com ,并使用组织帐户登录。

  2. 选择要在其中创建 API 的工作区,然后选择“ 新建项”。 在打开的面板中,在 开发数据下,为 GraphQL选择 API。

    工作区工具栏的屏幕截图,其中显示了选择“新建”选项的位置。

  3. 输入 GraphQL 项的新 API 的名称 ,然后选择“ 创建”。

现在,Fabric 中有一个活动的 GraphQL API 终结点。 此时,可以从 Fabric 门户复制终结点 URL,选择 “生成代码 ”以获取代码示例,API 已准备好接收请求。 在下一部分中,我们将连接数据源以构建您的架构,但端点本身已经正常运行。

连接数据源并生成架构

此时,API 终结点已准备就绪,但尚未公开任何数据。 API for GraphQL 是在强类型系统中按类型和字段组织的架构中定义的。 Fabric 会根据你选择向 GraphQL 客户端公开的数据自动生成必要的 GraphQL 架构。

连接数据源并生成架构:

  1. 请确保在工作区中选择了新的 GraphQL API 项。

  2. “将数据添加到 GraphQL API”下,选择“选择数据源”磁贴。

    “选择数据源”磁贴的屏幕截图。

  3. 接下来,选择 API 的连接选项:

    “选择连接”选项窗口的屏幕截图。

    在这里,可以定义 API 客户端如何基于两个不同的选项访问 API 以执行 GraphQL 请求:

    • 单一登录(SSO):可以使用客户端凭据连接到数据源。 经过身份验证的 API 用户必须有权访问数据源中的基础表。

      例如,如果要向 API 客户端公开 Lakehouse 数据,则经过身份验证的用户需要同时访问 API 和 Lakehouse。 更具体地说,对 GraphQL API 执行权限(添加直接访问权限时“运行查询和突变”的选项)以及相应选择数据源中所需的读取或写入权限。 或者,可以将用户添加为具有 参与者角色 的工作区成员,其中 API 和数据源项都位于其中,该角色提供从单个位置访问这两个项所需的访问权限。 有关详细信息,请参阅授予用户对工作区的访问权限

    • 保存的凭据:可以使用保存的凭据连接到数据源。 经过身份验证的 API 用户不需要直接访问数据。 共享保存的凭据以访问数据源中 API 和基础表之间的数据。

      例如,如果要向 API 客户端公开 Lakehouse 数据,则经过身份验证的用户只需直接访问 API(添加直接访问权限时运行查询和突变 选项),而不是 Lakehouse。 保存的凭据用于将 API 连接到数据源,并由所有经过身份验证的 API 用户共享。 如果要通过 GraphQL 公开 Azure 数据源(例如 Azure SQL 数据库),则需要此选项。

    选择后,这些选项将针对以后添加到 API 的所有数据源自动强制执行。 不能在同一 API 中混合使用单一登录和保存的凭据。 可以使用用户主体名称(UPN)或服务主体名称(SPN)连接到您的 API,并根据您的安全要求选择使用 SSO 或保存的凭据。

    有关不同身份验证方案的权限要求的详细细分,请参阅 身份验证和权限摘要

    注意

    适用于 GraphQL 的 API 要求客户端应用程序使用 Microsoft Entra ID 进行身份验证。 客户端应用程序必须正确注册和配置,以便对 Fabric 执行 API 调用。 在 Microsoft Entra ID 中注册的应用需要 Power BI 服务的 GraphQLApi.Execute.All API 权限。 可在连接应用程序中找到一个端到端教程,其中包含用户主体和服务主体的说明和示例代码。

  4. 从 OneLake 目录中,选择要连接到的数据源。 选择“筛选器”仅查看特定类型的 Fabric 数据源,或按特定关键字搜索。 准备就绪后,选择“连接”

    OneLake 数据中心的屏幕截图,其中显示了工作区的可用数据源选项。

    在此示例中,我们选择了链接到包含 AdventureWorks 示例数据的镜像数据库的 SQL 分析终结点。

  5. 如果之前选择了 “已保存的凭据 ”,并且 GraphQL API 没有已保存的凭据,系统会提示你创建新的已保存凭据。

  6. 此时会显示“ 选择数据 ”页,可在其中选择要在 GraphQL 架构中公开的对象。

  7. 选中要在 API 中公开的各个表、视图或存储过程旁边的复选框。 若要选择文件夹中的所有对象,请选择顶部带有数据源名称的复选框。

    数据资源管理器的屏幕截图,其中选择了一个文件夹,该文件夹会自动选择该文件夹中的所有项目。

  8. 选择“加载”以启动 GraphQL 架构生成过程。

  9. 架构生成后,你可以开始对 GraphQL 查询(读取、列表)或突变(创建、更新、删除)进行原型设计,以便与数据交互。

    “架构资源管理器”屏幕的屏幕截图。

    小窍门

    在编辑器中编写查询时,输入 Ctrl/Cmd + 空格键以获取建议。

    有关使用 API 编辑器的详细信息,请参阅 Fabric API for GraphQL 编辑器

概要

就是这样! 已成功在 Fabric 中创建 GraphQL API、连接数据源并生成架构。 API 现已准备好接受来自客户端应用程序的连接和请求。 可以使用 API 编辑器来测试和原型 GraphQL 查询, 并使用架构资源管理器 来验证 API 中公开的数据类型和字段。