您现在的位置是:首页 > 文章详情

物联网数据分析服务之数据开发API使用说明

日期:2020-02-08点击:455

简介

物联网数据分析,又称Link Analytics,是阿里云为物联网开发者提供的设备智能分析服务,全链路覆盖了设备数据生成、管理(存储)、清洗、分析及可视化等环节。有效降低数据分析门槛,助力物联网开发工作。

数据开发提供云上交互式查询服务,无需数据预处理过程,直接使用标准的SQL语句对设备进行数据分析。
可以对以下三个数据来源中的设备数据进行分析。

  1. 物联网平台的系统数据
  2. 基于产品能力定义的设备数据
  3. 用户授权的业务数据

使用场景

无需实时处理数据的场景均可使用。但是如果对实时性有要求,请使用数据分析服务的实时数据分析功能,因为数据从设备上报到物联网平台,再完成SQL数据分析,有大约5分钟左右的延迟。

  1. 设备监控
  2. 报表统计
  3. 设备行为分析

架构图

image

API服务

前提:已创建好物联网平台上的产品及设备

一、添加新的API
image

二、编写SQL语句
本文中的示例为统计产品表中去重设备数
image

三、测试与发布
image

image

image

image

JAVA调用示例

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>数据开发API-Demo</groupId> <artifactId>数据开发API-Demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-iot --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-iot</artifactId> <version>6.10.0</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.3.5</version> </dependency> </dependencies> </project>


Demo.java

import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.http.MethodType; import com.aliyuncs.iot.model.v20180120.InvokeDataAPIServiceRequest; import com.aliyuncs.iot.model.v20180120.InvokeDataAPIServiceResponse; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import java.util.Arrays; import java.util.List; import java.util.Map; public class Demo { public static void main(String args[]) throws ClientException { String accessKey = "*****"; String accessSecret = "*****"; DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Iot", "iot.cn-shanghai.aliyuncs.com"); IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", accessKey, accessSecret); DefaultAcsClient client = new DefaultAcsClient(profile); //初始化SDK客户端 //在控制台的属性参数设置里截取API Path的一部分 String apiSrn = "acs:iot:*:{uid}:serveapi/devicecount"; //如果有请求参数,则需要设置 InvokeDataAPIServiceRequest.Param param = new InvokeDataAPIServiceRequest.Param(); // 请求参数名称 //param.setParamName("$device_name"); // 在线状态 //param.setParamValue("***"); InvokeDataAPIServiceRequest request = new InvokeDataAPIServiceRequest(); request.setApiSrn(apiSrn); //request.setParams(Arrays.asList(param)); // 当param为空时用请求方式用GET,如果不为空是用POST request.setSysMethod(MethodType.GET); try { InvokeDataAPIServiceResponse response = client.getAcsResponse(request); System.out.println(response.getSuccess()); System.out.println(response.getErrorMessage()); // 服务API指定的SQL查询结果 List<Map<Object, Object>> result = response.getData().getResultList(); System.out.println(result); } catch (ClientException ce) { ce.printStackTrace(); } } }


运行结果
image

原文链接:https://yq.aliyun.com/articles/744137
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章