关于 GraphQL
开始这里
Http
1https://api.cloud.luxonis.com/graphqlPOST,并包含:Content-Type: application/jsonAuthorization: Bearer <your_api_key>
team { ... } 接口,并将 Hub API 密钥仅保存在您的后端。如果您尚未设置身份验证,请参阅 API 密钥。请求结构
- 操作定义,例如
query或mutation,以及操作名称和可选的变量定义。 - 选择集,列出您想要返回的确切字段。
- 变量对象,作为 JSON 与查询一起发送,使值与文档分离。
- HTTP 传输封装,包含
Authorization和Content-Type标头。
JSON
1{
2 "query": "query Devices($first: Int!, $after: String) { team { devices(first: $first, after: $after) { nodes { id name status } } } }",
3 "variables": {
4 "first": 25,
5 "after": null
6 }
7}示例查询
列出设备
team { ... } 作为公共控制平面集成的根:Graphql
1query Devices($first: Int!, $after: String) {
2 team {
3 devices(first: $first, after: $after) {
4 nodes {
5 id
6 name
7 status
8 }
9 pageInfo {
10 hasNextPage
11 endCursor
12 }
13 }
14 }
15}更新设备状态
Graphql
1mutation UpdateDevice($input: UpdateDeviceInput!) {
2 updateDevice(input: $input) {
3 clientMutationId
4 }
5}UpdateDeviceInput 内允许的确切字段,因此在编写生产流程之前,请使用参考页面或自省来检查当前的输入结构。Hub 特有边界
公共接口
team { ... } 接口。身份验证边界
- 您的用户向您的前端和后端进行身份验证。
- 您的后端存储 Hub API 密钥。
- 您的后端调用 Hub GraphQL。
- 您的前端仅接收所需的派生有效负载。
模式自省
实时行为
您在模式中会看到的核心概念
- 对象类型和字段 定义您可以查询的资源和属性,例如
Device、Team或App。 - 参数和变量 让您可以传递分页、过滤和输入值,而无需重写查询字符串。
- 输入对象 对结构化变更输入(例如
UpdateDeviceInput)进行分组。 - 枚举、接口和联合 描述受限的值和多态响应形状。
- 连接 是使用
nodes、edges和pageInfo等字段的分页模式。
后续步骤
- 继续阅读 集成指南,了解端到端的后端工作流。
- 使用 流式传输和可视化工具 进行浏览器连接引导和远程会话流。
- 探索 模式参考、查询 和 变更,了解当前的控制 API 接口。