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

路由快速入门

在GraphOS和Apollo托管子图上运行路由器


你好!本教程将指导您安装(GraphOS路由器或Apollo路由器核心)并在GraphOS和一些示例Apollo托管的上运行它。

本快速入门可帮助您运行一个自托管路由器实例。如果您使用Apollo GraphOS创建一个云超图,Apollo会为您配置和托管您超图的GraphOS路由器。

云超图适用于不需要在其自身基础设施中托管路由器的组织。

1. 下载并解压缩路由器二进制文件

下载选项

自动下载(Linux,OSX,WSL)

如果您有一个兼容bash的终端,您可以使用以下命令将Apollo路由器核心的最新版本直接下载到当前目录:

curl -sSL https://router.apollo.dev/download/nix/latest | sh

手动下载

前往Apollo Router Core的GitHub Releases页面👉GitHub Releases pageGitHub Releases page,下载最新版本。当前,以下版本的tar包可用:.tar.gz文件按以下列出:

  • Linux (x86_64)
  • Linux (aarch64)
  • macOS (苹果硅)
  • Windows (x86_64)

若您系统或架构的tar包不可用,您可以从源代码编译并运行路由器👉build and run the router from source,也可以在GitHub上提交一个issue👉open an issue on GitHub,请求添加新的架构。

下载后,在新项目目录中运行以下命令解压缩文件,将tar包的路径替换进去

tar -xf path/to/file.tar.gz --strip-components=1

如果省略--strip-components=1选项,则router可执行文件将安装在dist子目录中

运行二进制文件

现在可以从项目根目录使用以下命令运行

./router

如果您这样做,您会得到类似以下输出

Apollo Router <version> // (c) Apollo Graph, Inc. // Licensed as ELv2 (https://go.apollo.dev/elv2)
⚠️ The Apollo Router requires a composed supergraph schema at startup. ⚠️
👉 DO ONE:
* Pass a local schema file with the '--supergraph' option:
$ ./router --supergraph <file_path>
* Fetch a registered schema from GraphOS by setting
these environment variables:
$ APOLLO_KEY="..." APOLLO_GRAPH_REF="..." ./router
For details, see the Apollo docs:
https://apollo.graphql.net.cn/docs/federation/managed-federation/setup
🔬 TESTING THINGS OUT?
1. Download an example supergraph schema with Apollo-hosted subgraphs:
$ curl -L https://supergraph.demo.starstuff.dev/ > starstuff.graphql
2. Run the router in development mode with the supergraph schema:
$ ./router --dev --supergraph starstuff.graphql

这是因为在需要一个新的,但我们没有提供一个。让我们解决这个问题。

2. 下载示例 supergraph schema

在这个快速入门中,我们使用了示例Apollo-hosted子图以及一个由这些组成的示例supergraphschema。

从项目根目录运行以下命令

curl -sSL https://supergraph.demo.starstuff.dev/ > supergraph-schema.graphql

这会将一个含有以下内容的supergraph-schema.graphql文件保存下来:

这个文件是router与我们的subgraphs通信所需的全部内容!

3. 以默认配置在开发模式下运行router

现在,从你的项目根目录运行以下命令

./router --dev --supergraph supergraph-schema.graphql

控制台输出应如下所示

2022-06-29T22:23:24.266542Z INFO apollo_router::executable: Apollo Router v0.9.5 // (c) Apollo Graph, Inc. // Licensed as ELv2 (https://go.apollo.dev/elv2)
2022-06-29T22:23:24.488286Z INFO apollo_router::router: starting Apollo Router
2022-06-29T22:23:25.774334Z INFO apollo_router::axum_http_server_factory: GraphQL endpoint exposed at http://127.0.0.1:4000/ 🚀

这样就完成了!使用router时加上--dev标志将启用开发模式,暴露Apollo沙盒,以便你可以在router上运行查询。

⚠️ 注意

不要在非开发环境中使用--dev标志。它会放宽某些默认配置选项,以提供改进的本地开发体验(例如,它将客户端可见的错误消息暴露出来)。

了解更多关于开发模式默认设置的信息。

访问 http://127.0.0.1:4000 打开,检查您的整个supergraph,并运行您的第一个查询!

下一步

现在您已经知道了如何使用supergraph schema运行router,您可以:

上一页
简介
下一页
从@apollo/gateway迁移
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商业名为Apollo GraphQL。

隐私政策

公司