快速入门
SDK 使用教程
本指南帮助您快速使用 SDK 对接 Inteagle 结构健康监测平台。
前置条件
- 已获取 Access Key 和 Secret Key(联系销售获取)
SDK 安装
Java SDK
<dependency>
<groupId>com.inteagle</groupId>
<artifactId>shm-sdk</artifactId>
<version>0.3.1</version>
</dependency>dependencies {
implementation 'com.inteagle:shm-sdk:0.3.1'
}Go SDK
Go SDK 即将推出,敬请期待。
快速开始
1. 创建客户端
import com.inteagle.shm.InteagleClient;
InteagleClient client = InteagleClient.builder()
.apiEndpoint("https://api.shm.inteagle.com")
.credentials("your-access-key", "your-secret-key")
.build();
2. 查询项目
// 查询项目列表
List<Project> projects = client.projects().list();
for (Project project : projects) {
System.out.println("项目: " + project.getName());
System.out.println("ID: " + project.getId());
}
// 查询项目详情
Project project = client.projects().get("project-id");
3. 查询监测点
// 查询项目下的监测点
List<MonitoringPoint> points = client.points().listByProject("project-id");
for (MonitoringPoint point : points) {
System.out.println("监测点: " + point.getName());
}
// 查询监测点详情
MonitoringPoint point = client.points().get("point-id");
4. 查询设备
// 查询项目下的设备
List<Device> devices = client.devices().listByProject("project-id");
// 查询设备详情
Device device = client.devices().get("device-id");
System.out.println("设备状态: " + (device.isOnline() ? "在线" : "离线"));
5. 查询遥测数据
// 查询监测点最新数据
TelemetryResult latest = client.telemetry()
.entity("POINT", "point-id")
.latest();
System.out.println("dx: " + latest.getValue("dx"));
System.out.println("dy: " + latest.getValue("dy"));
// 查询历史数据
long endTs = System.currentTimeMillis();
long startTs = endTs - 24 * 60 * 60 * 1000; // 最近24小时
TelemetryResult history = client.telemetry()
.entity("POINT", "point-id")
.timeRange(startTs, endTs)
.metrics("dx", "dy")
.query();
6. 查询告警
// 查询活动告警
List<Alarm> alarms = client.alarms()
.projectId("project-id")
.status("ACTIVE")
.list();
for (Alarm alarm : alarms) {
System.out.println("告警: " + alarm.getType());
System.out.println("级别: " + alarm.getSeverity());
}
7. 查询告警规则
// 查询项目的告警规则
List<AlarmRule> rules = client.alarmRules()
.projectId("project-id")
.list();
for (AlarmRule rule : rules) {
System.out.println("规则: " + rule.getName());
System.out.println("启用: " + rule.isEnabled());
}
命令行工具
SDK 提供命令行工具 shm-cli,方便调试和测试:
# 配置凭证
shm-cli config --access-key YOUR_KEY --secret-key YOUR_SECRET
# 查询项目
shm-cli projects list
# 查询监测点
shm-cli points list --project PROJECT_ID
# 查询遥测数据
shm-cli telemetry latest --entity-type POINT --entity-id POINT_ID
# 查询告警规则
shm-cli alarm-rules list --project PROJECT_ID