了解 Git 集成和部署管道如何在 Microsoft Fabric 中使用适用于 GraphQL 的 API。 本文可帮助你了解如何设置与存储库的连接、管理 GraphQL 的 API,以及如何在不同的环境中部署它们。
注释
GraphQL 源代码管理和部署的 API 目前为 预览版。
先决条件
- 在 Fabric 中必须有 API for GraphQL。 有关详细信息,请参阅 在 Fabric 中创建 GraphQL API 并添加数据。
概述
Fabric 通过两个主要组件提供用于 CI/CD(持续集成和持续部署)和开发生命周期管理的强大工具: Git 集成 (CI)和 部署管道 (CD)。 工作区充当 Git 同步和部署阶段的中心组件。
Git 集成(CI):将工作区项(例如代码、配置、API)与 版本控制存储库同步,通过 Git 启用版本控制和更改跟踪。
部署管道(CD):允许创建包含链接工作区的阶段(例如开发、测试、生产)。 每个阶段支持的项会自动复制到后续阶段,并在发布管道中的工作区触发器部署中进行更改。 可以配置管道,以确保在环境中有效地测试和部署更改。
Fabric 支持针对常见方案定制的各种 CI/CD 工作流。 有关详细信息,请参阅 Fabric 中的 CI/CD 工作流选项。
注释
部署期间仅复制元数据;不会复制数据。
来自工作区的项作为基础结构即代码 (IaC) 存储在关联的 Git 存储库中。 存储库中的代码变更会在管道中触发部署。 使用此方法,可以跨阶段自动复制代码更改,以便进行测试和生产发布。
数据源身份验证方法
在本部分中,你将了解将数据源连接到用于 GraphQL 的 API 的身份验证方法,并了解它们对 GraphQL API 与开发管道中连接数据源之间的自动绑定的影响。 可以在 部署管道过程中了解有关自动绑定的详细信息。
有两个选项可用于将数据源连接到用于 GraphQL 的 API:
使用单一登录身份验证连接到 Fabric 数据源(SSO)
使用保存的凭据连接到 Fabric 或外部数据源
第一个选项“单一登录 (SSO)”允许连接到 Fabric 中的数据源。 在这种情况下,在原始工作区(例如开发阶段)中使用单一登录方法将数据源连接到 GraphQL 时,数据源和 GraphQL 项将部署到管道中的目标工作区(例如测试阶段),目标工作区中的 GraphQL 将自动连接到目标工作区中已部署的本地数据源(请参阅下图)。
第二个选项 “已保存的凭据” 支持连接到 Fabric 外部的数据源和 Fabric 内部的数据源。 但是,保存凭据方法不支持 自动绑定 。 这意味着,如果在原始工作区(开发阶段)中使用已保存凭据将数据源连接到 GraphQL,则数据源将部署到管道中的目标工作区(测试阶段)。 但是,目标工作区中的 GraphQL 项将通过保存的凭据保持连接到原始工作区(开发阶段)中的数据源,而不是自动绑定到目标工作区中的本地数据源。 (请参阅下图)
此外,如果使用 保存的凭据 方法连接到数据源,开发人员必须有权访问保存的凭据信息才能成功部署 GraphQL 项。
注释
如果原始工作区(开发阶段)中的 GraphQL API 连接到位于不同工作区中的数据源,则目标工作区(测试阶段)中部署的 GraphQL API 将仍然连接到位于不同工作区中的数据源,而不考虑使用哪种身份验证方法将数据源连接到用于 GraphQL 的 API。 (请参阅下图)
API for GraphQL Git 集成
用于 GraphQL 的 Fabric API 为源代码管理提供 Git 集成。 借助 Git 集成,可以备份和版本控制 GraphQL 的 API,根据需要还原到以前的阶段,使用 Git 分支单独协作或单独工作,并在 Fabric 中完全管理 GraphQL 生命周期的 API。
设置连接:
从 工作区设置中,可以轻松设置到存储库的连接,以提交和同步更改。 若要设置连接,请参阅 Git 集成入门。 连接后,您的项目(包括 GraphQL API)将显示在 源代码管理 面板中。
成功将 GraphQL 实例的 API 提交到 Git 存储库后,可在存储库中看到 GraphQL 文件夹结构。 现在可以执行将来的操作,例如 创建拉取请求。
Git 中的 GraphQL 表示形式:
下图是 Git 存储库中 GraphQL 项的每个 API 的文件结构示例:
当您将 GraphQL 项的 API 提交到 Git 存储库时,GraphQL 项的定义将被存储。 当同步回 Fabric 工作区时,此方法支持精确恢复:
部署管道中的 API for GraphQL
要通过部署管道完成 GraphQL 的 API 部署,请按照以下步骤进行。
创建新的部署管道或打开现有的部署管道。 有关详细信息,请参阅 部署管道入门。
根据部署目标将工作区分配到不同的阶段。
选择、查看和比较不同阶段之间的项(包括 API for GraphQL),如以下示例所示。 突出显示的区域指示了上一阶段与当前阶段之间项目数量的变化。
- 选择需要部署的项。 选择“ 部署 ”以跨开发、测试和生产阶段部署所选项(GraphQL 的 API 及其连接的数据源)。
下一条弹出的消息将确认你即将部署的项目。 选择 “部署 ”以确认并继续部署过程。
当前限制
Fabric CI/CD 不支持自动绑定子项。 这意味着,如果 API for GraphQL 作为原始工作区(例如开发阶段)中数据源的子级连接到 SQL Analytics 终结点,数据世系不会传输到目标工作区(例如测试阶段)。 因此,目标工作区(例如测试阶段)中部署的 GraphQL API 仍连接到原始工作区(例如开发阶段)中的 SQL Analytics 终结点。
目前不支持使用服务主体部署使用通过 SQL Analytics 终结点访问的数据源的 GraphQL API。 这需要数据源,如 Lakehouse 和镜像数据库。