本文以 PostRealTimeDeviceData API 为例(其他接口的 API 请参考API详情章节),介绍获取数据上云操作的参数,并通过 JavaPython 应用程序调用 API SDK 的方法。

注意 单次请求限制,设备数据条数 ≤5000,数据包大小 ≤1MB。

阿里云 ET 工业大脑通过应用程序调用 API SDK,需要获取 API 的 serviceId

获取 API SDK

参考下载API SDK,进入阿里云ET工业大脑的 API 页面,单击 PostRealTimeDeviceData 下载对应的 SDK 并获取 serviceId,如下图所示。

  • 在您未关联设备信息之前,serviceId 默认显示为暂无,如果此项没有参数值,您可以到数据链路页面进行配置,具体请参考配置数据接入
  • 在您未关联云资源之前,MaxCompute TableDataHub Topic 默认显示为暂无,您可以参考资源管理添加云资源,添加完成后这两项参数会自动进行填充。

Java示例

  1. 获取PostRealTimeDeviceData API Java SDK
  2. 使用Maven获取Aliyun Java Core SDK(使用阿里云ET工业大脑Java SDK需引入Aliyun Java Core SDK),方式如下:
    <dependency>
     <groupId>com.aliyun</groupId>
     <artifactId>aliyun-java-sdk-core</artifactId>
     <version>4.1.1</version>
    </dependency>
  3. 在您的项目中导入下载的SDK,开发应用程序并配置参数,示例代码如下:
    public class PostRealTimeDeviceData {
     /**
      * AI创作间项目id
      */
     private static final String SERVICE_ID = "ff5b321ccd1548f6838d82aa6bed7b52";
     /**
      * 地区
      */
     private static final String REGION_ID = "cn-hangzhou";
     /**
      * 用户AK
      */
     private static final String ACCESS_KEY_ID = "Your AccessKeyId.";
     /**
      * 项目名称
      */
     private static final String PRODUCT = "industry-brain";
     /**
      * 通道
      */
     private static final String END_POINT = "industrial-brain.cn-hangzhou.aliyuncs.com";
     /**
      * 用户SK
      */
     private static final String SECRET_KEY = "Your secretKey.";
     /**
      * 主函数(获取算法列表)
      *
      * @param args
      */
     public static void main(String[] args) {
         run();
     }
     /**
      * 请求线上环境
      */
     public static void run() {
         // 工业大脑项目名称 请求地址
         DefaultProfile.addEndpoint(REGION_ID, PRODUCT, END_POINT);
         // 配置region(用户AK, SK)
         DefaultProfile defaultProfile = DefaultProfile.getProfile(REGION_ID, ACCESS_KEY_ID, SECRET_KEY);
         IAcsClient client = new DefaultAcsClient(defaultProfile);
         // 此处为具体API方法. 具体根据API拼接相应request参数
         PostRealTimeDeviceDataRequest request = new PostRealTimeDeviceData();
         request.setProjectId(SERVICE_ID);
         try {
             // 开始请求接口,获取返回结果. 不同的API需要换成对应的response
             PostRealTimeDeviceDataResponse resp = client.getAcsResponse(request);
             // 打印返回结果
             System.out.println(JSONObject.fromObject(resp).toString());
         } catch (com.aliyuncs.exceptions.ClientException e) {
             e.printStackTrace();
         }
     }
    }
    注意 示例代码中的 SERVICE_ID 需要配置成您第1步中获取的 serviceId,其他参数的配置请参见代码注释。

Python示例

说明 本示例以Python 2.7版本为例。
  1. 获取 PostRealTimeDeviceData API Python SDK
  2. 使用以下两种方式安装阿里云 Python SDK 和阿里云工业大脑 Python SDK。
    • 方式一:
      pip install aliyun-python-sdk-core
      pip install aliyun-python-sdk-cloudauth
    • 方式二:
      1. 将SDK解压并进入到解压目录下。
      2. 执行如下脚本:
        python setup.py build
        python setup.py install
  3. 在您的项目中导入SDK开发包,开发应用程序并配置参数,示例代码如下:
    from aliyunsdkcore.profile import region_provider;
    from aliyunsdkcore.client import AcsClient;
    # 可将工业大脑SDK源码打包至python库
    from aliyunsdkindustry_brain.request.v20180712 import PostRealTimeDeviceDataRequest;
    # 配置产品接口信息
    region_provider.add_endpoint("industry-brain", "cn-hangzhou", "industrial-brain.cn-hangzhou.aliyuncs.com")
    # 配置请求用户信息
    client = AcsClient('accesskeyId',  'accesskeySecret',  'cn-hangzhou')
    # 初始化请求对象
    request = PostRealTimeDeviceDataRequest.PostRealTimeDeviceDataRequest()
    # 设置请求数据
    request.set_Data("[{\"deviceId\": \"10001\",\"key\": \"fgmja_i\",\"value\": \"\",\"time\": \"2018-08-29 21:02:00\",\"systime\":\"2018-08-29 21:02:00\"}]")
    request.set_ServiceId("serviceId")