列出设备并检查设备状态
先决条件
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 - 您可以判断设备是否在线、正在运行的版本以及是否提供了支持的更新数据
- 您知道下一步是应用程序生命周期突变、更新流程还是交互式会话