加入我们,从10月8日至10日参加纽约市的活动,了解关于GraphQL联邦和API平台工程的最新技巧、趋势和新闻。参加2024年纽约市的GraphQL峰会
文档
免费开始

Rover合约命令

与GraphOS合约变种一起使用


contracts 允许您创建 ,以便根据包含和排除规则过滤模式元素:

Contract variant A
Contract variant B
Source variant
Filter schema
according to contract A
Filter schema
according to contract B
Contract schema A
Contract schema B
Supergraph
schema

rover contract 命令集 allowing you to interact with existing and create new ones.

将合约发布到GraphOS

合约发布

您可以使用 发布新的 或向现有合约发布配置更改。

运行 contract publish 命令,例如:

rover contract publish my-graph@my-contract-variant \
--source-variant my-source-variant \
--include-tag foo \
--include-tag bar \
--exclude-tag baz \
--hide-unreachable-types

示例中提到的 my-graph@my-contract-variant 是一个 图引用 并指定了您要发布的 的 ID,包括您正在创建或修改的哪个 合同

如果这个合同变体已经在 中存在,则更新其配置。否则,将创建一个新的合同变体。

选项包括

名称描述
--source-variant

用于 过滤的 源变体 的名称。

源变体必须属于与合同变体相同的 ,并且必须是一个具有 的联合变体。如果您的图使用 Federation 1,则必须在 中启用其 @tag 支持。

必需 第一次发布合同时。

可选 第一次发布之后。如果提供,则必须与第一次发布提供的值匹配(特定合同变体的源变体不能更改)。

--include-tag

用于筛选时包含的标签名。包含多个标签名时,须指定--include-tag多次:

--include-tag foo --include-tag bar

要指定为空的包含列表,请提供--no-include-tags代替此选项。

每个标签名必须

  • 以字母(大写或小写)或下划线开头。
  • 只包含字母、数字、下划线(_)、破折号(-)或斜杠(/)。
  • 最长不超过128个字符。

必须指定--include-tag--no-include-tags中的一个。

--no-include-tags

为发布的合同指定一个空的包含列表。

必须指定--include-tag--no-include-tags中的一个。

--exclude-tag

用于筛选时排除的标签名。排除多个标签名时,须指定--exclude-tag多次:

--exclude-tag foo --exclude-tag bar

要指定空的排除列表,请提供--no-exclude-tags代替此选项。

每个标签名必须

  • 以字母(大写或小写)或下划线开头。
  • 只包含字母、数字、下划线(_)、破折号(-)或斜杠(/)。
  • 最长不超过128个字符。

必须指定--exclude-tag--no-exclude-tags中的一个。

--no-exclude-tags

为发布的合同指定一个空的排除列表。

必须指定--exclude-tag--no-exclude-tags中的一个。

--hide-unreachable-types

如果指定,合同将自动隐藏那些从合同模式根无法访问的类型。

必须指定--hide-unreachable-types--no-hide-unreachable-types中的一个。

--no-hide-unreachable-types

如果指定,合同不会自动隐藏从合同模式根字段无法访问的类型。

必须指定--hide-unreachable-types--no-hide-unreachable-types中的一个。

--no-launch

可选。如果指定,此命令在更新合同配置后不会在GraphOS中触发启动

正在获取合同详情

contract describe

此命令需要使用Rover通过GraphOS进行认证

您可以使用 Rover 检索Rover可访问的任何 合约 变体的 配置。

运行以下 contract describe 命令:

rover contract describe my-graph@my-contract-variant

在上述示例中,参数 my-graph@my-contract-variant 是一个 图形引用,它指定了要从中检索的 GraphOS 图形的 ID,以及您正在检索的合约 变体

此命令将打印合约配置的摘要,包括其源变体和包含/排除列表:

Fetching description for configuration of my-graph@my-contract-variant using credentials from the default profile.
Configuration Description:
Contract variant "my-graph@my-contract-variant" is derived from the source variant "my-graph@my-source-variant".
Included tags:
- "foo"
- "bar"
Excluded tags:
- "baz"
Unreachable types are automatically hidden.
View the variant's full configuration at https://studio.apollographql.com/graph/my-graph/settings/variant?variant=my-contract-variant
上一页
config
下一页
开发版
评估文章评估在 GitHub 上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商号 Apollo GraphQL。

隐私政策

公司