物联网无线连接服务提供Java SDK,方便开发者使用Java程序操作物联网无线连接服务。开发者可以使用Maven依赖添加SDK。

  1. 安装 Java 开发环境。您可以从Java 官方网站下载,并按说明安装Java开发环境。
  2. 安装物联网络管理平台Java SDK。
  • 访问 Apache Maven 官网下载 Maven 软件。
  • 添加 Maven 项目依赖。物联网无线连接服务控制台SDK的Maven依赖坐标:
<dependency> 
   <groupId>com.aliyun</groupId> 
   <artifactId>aliyun-java-sdk-dyiotapi</artifactId>       
   <version>2.0.0</version>
</dependency>

阿里云云端公共SDK的Maven依赖坐标:

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.1.1</version>
</dependency> 

初始化 SDK

  1. 为了使用物联卡 SDK,您必须申请阿里云的访问秘钥。
  2. 阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。
  3. 该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。
  4. 您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。

注:有备注无需修改的位置请勿改动。

//设置超时时间-可自行调整
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化ascClient需要的几个参数
final String product = "Dyiotapi";//物联卡API产品名称(短信产品名固定,无需修改)
final String domain = "dyiotapi.aliyuncs.com";//物联卡API产品域名(接口地址固定,无需修改)
//替换成你的AK
final String accessKeyId = "yourAccessKeyId";//你的accessKeyId,参考本文档步骤2
final String accessKeySecret = "yourAccessKeySecret";//你的accessKeySecret,参考本文档步骤2
//初始化ascClient,暂时不支持多region(请勿修改)
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);

下文以调用 QueryCardHistoryFlowInfo API方法查询物联网卡历史流量数据为例,描述调用API的方法。

//构建该API特定的请求参数
 QueryCardHistoryFlowInfoRequest request = new QueryCardHistoryFlowInfoRequest();
//填入你要查询的iccid值
 request.setIccid("89860403101801032902");
 //填入查询开始时间
 request.setStartTime("202001");
 //填入查询结束时间
 request.setEndTime("202006");
 try {
 QueryCardHistoryFlowInfoResponse  response = acsClient.getAcsResponse(request);
        } catch (ClientException e) {
            e.printStackTrace();
        }
if(response.getSuccess()) {   
 System.out.println(response);
}