Rover 规范
Rover 命令术语和 I/O 规范
这些规范适用于所有Rover命令。
术语
图 / 子图 / 超图
Rover提供与联邦子图
和超图
交互的命令,以及与单一(非联邦)图
交互的命令。
一个超图是多个子图在一个联邦架构中的
在处理联邦图时,您将在特定的子图上运行大多数Rover命令(使用子图
命令),而不是在整个组成超图上。在进行超图模式工作时会用到超图模式。
图引用
小车使用 图形引用 来引用GraphOS中的一个特定变种的特定图形。GraphOS。图形引用是一个字符串,格式如下:
graph_id@variant_name
例如: docs-example-graph@staging
所有与小车交互的 GraphOS 的命令都需要一个图形引用作为它们的第一位置参数。
I/O
使用 stdout
小车命令以可预测、可移植的格式打印到 stdout
。这使输出可以被用于其他地方(例如另一个CLI或作为另一个 Rover 命令的输入)。为了维护这种可预测性,小车将进度日志打印到 stderr
,而不是 stdout
。
要将小车输出重定向到除您的终端之外的位置,您可以使用 --output <OUTPUT_FILE>
参数、管道操作符 |
或重定向操作符 >
。
管道操作符 |
使用管道操作符将一个命令的 stdout
直接传递给另一个命令的 stdin
,如下所示:
rover graph introspect https://127.0.0.1:4000 | pbcopy
在此例中,introspect
命令的输出通过管道传输到 pbcopy
,这是一个将值复制到剪贴板的 macOS 命令。某些 Rover 命令也接受来自 stdin
的值,如 使用 stdin
中所述。
写入文件输出
使用 --output <OUTPUT_FILE>
参数将命令输出写入文件。
rover graph fetch my-graph@prod --output schema.graphql
在此例中,graph fetch
返回的模式被写入到文件 schema.graphql
。如果文件已存在,它将被覆盖。否则,将创建文件。
使用 stdin
Rover 命令接受文件路径作为选项,也可以接受来自 stdin
的输入。要这样做,请将 -
作为文件路径的参数传递:
rover graph introspect https://127.0.0.1:4000 \| rover graph check my-graph --schema -
注意 :-
在 --schema
之后。由 graph introspect
返回的模式正在被传递给 graph check
的 --schema
选项, graph check
通常接受文件而不是从 stdin
的输入。