列出设备并检查设备状态
前提条件
Authorization 请求头中:Command Line
1Authorization: Bearer <your_api_key>将 API 密钥保存在后端
API 密钥可以访问您团队的公共控制平面。请将其存储在后端或其他服务器端工具中,而不是放在不可信的客户端上。
列出设备
Graphql
1query {
2 team {
3 devices(first: 10) {
4 nodes {
5 id
6 name
7 status
8 model
9 architecture
10 version
11 lastContactAt
12 }
13 pageInfo {
14 hasNextPage
15 endCursor
16 }
17 }
18 }
19}- 团队中存在哪些设备
- 它们当前是
ONLINE还是OFFLINE - 哪个设备 ID 用于后续查询
- 是否还有更多页面
检查单个设备
Graphql
1query($deviceId: ID!) {
2 team {
3 device(deviceId: $deviceId) {
4 id
5 name
6 status
7 model
8 serialNumber
9 architecture
10 kind
11 capabilities
12 version
13 lastContactAt
14 lastStatusChangeAt
15 networkInterfaces {
16 interfaceName
17 ipv4Address
18 macAddress
19 }
20 availableUpgrade {
21 id
22 version
23 semver
24 }
25 }
26 }
27}JSON
1{
2 "deviceId": "device-id-from-list"
3}- 设备身份和当前连接状态
- 目标是
OAK还是SELF_HOSTED - 设备路径可用的能力
- 网络详细信息是否解释了当前可达性状态
availableUpgrade是否提供了支持的更新候选
只请求工作流需要的字段
GraphQL 的选择集是灵活的。从上述字段开始,然后根据设备管理工作流的实际使用情况精简或扩展查询。
从检查转向操作
- 在设备上安装应用或检查已安装的应用状态
- 启动或停止已安装的应用
- 当
availableUpgrade存在时,触发支持的 OTA 或固件更新 - 只有当目标是远程交互、日志或可视化(而非控制平面操作)时,才使用浏览器端会话
验证结果
- 您可以调用
team.devices并获得预期的设备群列表 - 您可以使用返回的一个设备 ID 调用
team.device - 您可以判断设备是否在线、运行哪个版本,以及是否存在支持的更新数据
- 您知道下一步是应用生命周期变更、更新流程还是交互式会话