Rover合约命令
与GraphOS合约变种一起使用
GraphOS contracts 允许您创建 variants 的 supergraph,以便根据包含和排除规则过滤模式元素:
该rover contract
命令集 allowing you to interact with your existing contracts and create new ones.
将合约发布到GraphOS
合约发布
此命令需要 认证Rover至GraphOS.
您可以使用 Rover 发布新的 contract 或向现有合约发布配置更改。
运行 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,包括您正在创建或修改的哪个 合同 变体。
如果这个合同变体已经在 图注册表中存在,则更新其配置。否则,将创建一个新的合同变体。
选项包括
名称 | 描述 |
---|---|
| 用于 supergraph schema 过滤的 源变体 的名称。 源变体必须属于与合同变体相同的 图,并且必须是一个具有 子图 的联合变体。如果您的图使用 Federation 1,则必须在 GraphOS Studio 中启用其 必需 第一次发布合同时。 可选 第一次发布之后。如果提供,则必须与第一次发布提供的值匹配(特定合同变体的源变体不能更改)。 |
| 用于筛选时包含的标签名。包含多个标签名时,须指定
要指定为空的包含列表,请提供 每个标签名必须:
必须指定 |
| 为发布的合同指定一个空的包含列表。 必须指定 |
| 用于筛选时排除的标签名。排除多个标签名时,须指定
要指定空的排除列表,请提供 每个标签名必须:
必须指定 |
| 为发布的合同指定一个空的排除列表。 必须指定 |
| 如果指定,合同将自动隐藏那些从合同模式根字段无法访问的类型。 必须指定 |
| 如果指定,合同不会自动隐藏从合同模式根字段无法访问的类型。 必须指定 |
| 可选。如果指定,此命令在更新合同配置后不会在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