SevOne Data Insight GraphQL 指南
关于
Data Insight 使用 GraphQL 作为查询语言来访问 Data Insight 和 NMS 数据。 本文档概述了如何访问 GraphQL 以进行测试和管理。
请参阅 graphql.org 了解有关该技术框架的更多信息。
使用 GraphiQL 进行访问
GraphiQL 是基于 Web 的 GUI 前端,允许用户执行任意 GraphQL 查询并浏览结果。 它还公开了 GraphQL 模式文档,其中说明了所有可能的查询,输入和输出。
GraphiQL 与 Data Insight 捆绑在一起,但缺省情况下处于禁用状态。 要使用它,必须进行配置才能将其启用。 此外,访问 GraphiQL 的用户还必须具有因特网访问权,因为 GraphiQL 组件在启动时将部分从因特网下载。
根据 SevOne Data Insight 版本更新配置文件中的 graphql 变量,如下所示。
例如,对于 SDI6.8.x及以下版本、
graphql:
enableGraphiql: true
contentSecurityPolicy: null
env:
ALLOW_UNAUTHENTICATED_INTROSPECTION: true
例如,SDI7.0.x及以上版本、
graphql = {
enable_graphiql = true
content_security_policy = ""
env = {
"ALLOW_UNAUTHENTICATED_INTROSPECTION": "true"
}
}
部署更改后,可以在 URI /retinaserver/playground上访问 GraphiQL 。

单击右上角的 文档 按钮以浏览 GraphQL 模式。

使用 Postman 进行访问
Postman ( https://www.getpostman.com/ ) 是一款安装在 Windows 或 Mac 上的免费第三方工具。 它支持查询 GraphQL。 Data Insight 无需配置就可使用此工具。
安装完成后,您可以通过指定 HTTP 方法POST、以 https:// <sdi_server>/retinaserver 的形式发送至您的Data Insight服务器,然后在“正文”选项卡下设置请求类型 GraphQL 来构建请求。

GraphQL 认证
在通过 "GraphQL,运行任何数据查询之前,用户必须通过身份验证。 这是使用 authenticate 突变完成的。

返回的令牌指示认证成功。 此令牌必须在所有后续查询的请求头中传递到 GraphQL。
使用 Chrome 浏览器为 GraphiQL 设置认证头
- 安装 Chrome 扩展以处理请求头。 在本文件中,我们将使用 ModHeader ( https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj )。
- 使用此工具将请求标头 X-Auth-Token 设置为令牌。

其他浏览器可能能够安装提供类似功能的扩展或插件。
为 Postman 设置认证头
- 单击 授权 选项卡。
- 将 TYPE 设置为 API 密钥。
- 将 密钥 设置为 X-Auth-Token。
- 将 值 设置为先前步骤中返回的令牌。
