从10月8日至10日,与我们在纽约市一起学习有关GraphQL联邦和API平台工程的最新技巧、趋势和新闻。参加2024年纽约市GraphQL峰会
文档
免费开始
0.17.2

Rover 持久查询命令

将持久查询清单发布到您的持久查询列表中


使用GraphOS 企业版,您可以通过维护 's security by maintaining a 持久查询列表(PQL)为您的 GraphOS 路由器检查传入请求与 ,并可配置为拒绝列表中未注册的操作。

将操作注册到 PQL 有两个步骤:

  1. 使用客户端特定的工具生成 清单(PQMs)
  2. 使用 发布 PQMs 到 PQL

本文详细介绍了后者。有关 PQM 生成和其他实现步骤的更多信息,请参阅 GraphOS 持久查询文档

发布 PQM

持久查询发布

您可以使用 Rover 来为任何客户端发布任何 PQM现有PQL

执行下面的 persisted-queries publish 命令:

rover persisted-queries publish my-graph@my-variant \
--manifest ./persisted-query-manifest.json
  • 参数 my-graph@my-variant 与PQL关联的图形引用
    • 图形引用的格式为 graph-id@variant-name
  • 使用 --manifest 选项提供要发布的清单文件路径。

您可以根据需要使用 --graph-id--list-id 选项来指定要发布的PQL,而不是使用 my-graph@my-variant

rover persisted-queries publish \
--graph-id my_graph --list-id dc4b4040-30fc-4bd1-94a3-5fc1c722acc9 \
--manifest ./persisted-query-manifest.json
  • 使用 --graph-id 提供图'的ID
  • 使用 --list-id 提供PQL的UUID

persisted-queries publish 命令执行以下操作

  1. 将提供清单文件中的所有操作发布到与指定变体关联的PQL,或发布到指定的PQL。

    • 将清单发布到PQL是累加的。PQL中任何现有的条目都会保留。
    • 如果您尝试发布一个,其ID与现有PQL中的条目相同,但细节不同,则整个发布命令将因错误而失败。
  2. 更新,以便与其关联的路由器可以获取其更新的PQL。

生成清单一样,最好在本地的CI/CD管道中执行此命令,将新的操作作为应用程序发布流程的一部分进行发布。此命令需要您的API密钥拥有图管理员持久查询发布者角色持久查询发布者是一个专门设计用于与该命令一起使用、不向API密钥的用户透露有关您的的无关信息的角色。

中继支持
0.19.0

如果想要使用由Relay编译器生成的持久查询,则rover persisted-queries命令支持发布这些持久查询。

  1. 根据它们的相关文档,将Relay编译器配置为输出到指定位置的JSON操作清单。
  2. 使用persisted-queries publish命令出版清单到。命令的用法与发布由Apollo生成的清单时相同,但您必须包括--manifest-format relay 参数:
rover persisted-queries publish my-graph@my-variant \
--manifest ./persisted-queries.json \
--manifest-format relay
上一页
版权声明
下一页
README
评价文章评价在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司