上云无忧 > 文档中心 > 百度智能云物联网核心套件 IoT Core 日志 SDK (Java)
物联网核心套件 IoT Core
百度智能云物联网核心套件 IoT Core 日志 SDK (Java)

文档简介:
安装: 环境准备: 运行环境 Java SDK工具包可在 jdk1.6、jdk1.7、jdk1.8环境下运行。 鉴权和认证 要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

安装

环境准备

  1. 运行环境 Java SDK工具包可在 jdk1.6、jdk1.7、jdk1.8环境下运行。
  2. 鉴权和认证 要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。

    可以通过如下步骤获得并了解您的AK/SK信息:

    1. 注册百度智能云账号
    2. 创建AK/SK

下载和安装

使用Maven安装

在 Maven 中添加 iotcore-log-sdk 的依赖:

<dependency>
  <groupId>com.baidu.iot</groupId>
  <artifactId>iotcore-log-sdk</artifactId>
  <version>1.0.3</version>
</dependency>

附此 SDK 的 Github 开源地址:https://github.com/baidu/iotcore-sdk-java

快速入门

配置并创建IotCoreLogger

String iotCoreId = "yourIoTCoreId";                 // 天工平台创建的iotcore
String username = "yourIoTCoreId/yourDeviceKey";    // 天工平台创建的设备用户名或签名
char[] password = "yourDeviceSecret".toCharArray(); // 天工平台创建的设备密码或签名密钥

// 获取mqtt连接信息配置,可选tcp、tls等多种配置方式,详见MqttConfigFactory实现
MqttConfig mqttConfig = MqttConfigFactory.genPlainMqttConfig(iotCoreId, username, password);

// 创建IotCoreLogger配置信息
Config config = Config.builder()
        .iotCoreId(iotCoreId)
        .mqttConfig(mqttConfig)
        .logLevel(LogLevel.INFO)
        .includeLowerLevel(true)
        .clientPoolSize(3)
        .build();
// 创建IotCoreLogger实例,用于接收日志
IotCoreLoggerRegister register = new IotCoreLoggerRegister();
IotCoreLogger logger = register.registerLogger(config).blockingGet();

Config参数说明

  • iotCoreId: 天工平台创建的iotcore id。
  • groupKey: 日志接收者所属的group,同一group中的IotCoreLogger共享所有的日志信息,默认为每次不同的随机值。可参考kafka consumer group进行理解。
  • logLevel: 接收日志的级别,可选ERROR、WARN、INFO、DEBUG,级别由低至高。
  • includeLowerLevel: 所选日志级别是否包含低级,如选择接收INFO级别日志,默认包含WARN及ERROR级别日志。
  • deviceKeys: 执行设备名称列表,只接收特定设备的运行日志。
  • clientPoolSize: 内部创建的mqtt client数量,最大100。可根据所接收的日志规模及速率适量选取,每个client最低支持100 qps的日志。
  • mqttConfig: 内部mqtt client使用相关配置,使用百度云创建的日志设备身份信息进行创建。

接收日志

日志接收提供rx风格的订阅接口,使用示例如下:

logger.receive().subscribeWith(new DisposableObserver<LogEntry>() {
    @Override
    public void onNext(@NonNull LogEntry logEntry) {
        // handle logEntry
        System.out.println(logEntry);
    }

    @Override
    public void onError(@NonNull Throwable e) {
        // handle error
        e.printStackTrace();
        dispose();
    }

    @Override
    public void onComplete() {
        dispose();
    }
});

日志解析

sdk提供的日志LogEntry为proto中定义的原始日志格式,如需进一步的解析details中key值的含义,可参考iotcore-logger-standalone中的解析方式。

#零代码快速使用 为了进一步降低iotcore-log-sdk的理解及使用难度,提供了iotcore-logger-standalone模块,可以直接下载运行。运行参数如下:

Usage: <main class> [options]
  Options:
    --clientCount
      Total test client count
      Default: 3
    --deviceKeys
      Logs only from the specific devices would arrive
      Default: null
    --help
      Show help
    --includeLowerLevel
      Whether the log level should include the lower levels, such as INFO leven would include WARN and ERROR
      Default: true
  * --iotCoreId
      Receive logs from this iotCore
    --level
      Level of the received logs: ERROR, WARN, INFO, DEBUG
      Default: INFO
  * --password
      Mqtt client password
    --uri
      Mqtt broker uri
  * --username
      Mqtt client username

快速使用示例:

nohup java -jar iotcore-logger-standalone.jar --iotCoreId axxxxxx --username axxxxxx/
test --password hubKQZRMYaQXDgDe > logsdk.log 2>&1 &

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部