在使用Flink SQL开发作业集成物联网平台数据时,需要使用SQL连接器连接物联网平台的数据表(产品属性时序数据、产品事件数据和自定义时序存储表)。物联网平台提供了连接器作为实时计算Flink全托管自定义连接器使用。本文介绍如何使用实时计算Flink版集成物联网平台数据的连接器(IoT Connector)。
下载连接器(IoT Connector)
支持的数据类型
数据类型 | 物联网平台存储表的数据类型 | Flink配置的数据类型 |
整型 | BIGINT | BIGINT |
布尔型 | BOOLEAN | BOOLEAN |
日期时间 | TIMESTAMP | BIGINT |
浮点型 | DOUBLE | DOUBLE |
字符串 | VARCHAR | STRING |
支持的存储表
数据表 | 表标识符 | 描述 |
产品属性时序表 | product.*********** | 设备上报的物模型属性历史数据。详情请参见管理平台系统表和时序/快照表。 |
产品事件表 | event.*********** | 设备上报的物模型事件历史数据。详情请参见管理平台系统表和时序/快照表。 |
自定义存储表(时序表) | 自定义 | 用户自定义的存储表。详情请参见创建和管理自定义存储表。 |
产品属性时序表和产品事件表支持的数据字段如下:
字段名称
数据类型
说明
product_key
String
产品的ProductKey。
device_name
String
设备名称。
topic
String
上报数据的物模型Topic。
body
String
上报的物模型属性或事件的具体信息。例如,上报物模型属性数据:
{"test": 100}
。自定义存储表(时序表)支持的数据字段如下:
字段名称
数据类型
说明
real_table_name
String
自定义存储表(时序表)的表显示名。
custom_body
String
存储表中存储的字段信息。例如,温度字段数据:
{"temperature": 36}
。
语法结构
产品属性时序表和产品事件表SQL配置示例:
CREATE TABLE IoT_table( product_key STRING, device_name STRING, topic STRING ) WITH ( 'connector'='iot-source', 'regionId'='<yourRegionId>', 'accessId'='<yourAccessId>', 'accessKey'='<yourAccessKey>', 'tableName'='<yourTableName>', 'iotInstanceId'='<yourIotInstanceId>', 'clientId'='<yourClientId>', 'uid' = '<aliyunUid>' );
自定义存储表(时序表)SQL配置示例:
CREATE TABLE IoT_table( real_table_name STRING, custom_body STRING ) WITH ( 'connector'='iot-source', 'regionId'='<yourRegionId>', 'accessId'='<yourAccessId>', 'accessKey'='<yourAccessKey>', 'tableName'='<yourTableName>', 'iotInstanceId'='<yourIotInstanceId>', 'clientId'='<yourClientId>', 'uid' = '<aliyunUid>' );
WITH参数
参数 | 说明 | 数据类型 | 是否必填 | 默认值 | 备注 |
connector | 表类型。 | String | 是 | 无 | 源表为 |
regionId | 物联网企业版实例的地域ID,必须与实时计算的结果存储表所在地域一致。 说明 仅华东2(上海)、华北2(北京)、华南1(深圳)、美国(弗吉尼亚)地域的标准型和尊享型实例下支持IoT Connector。 实例的更多信息,请参见实例概述。 | String | 是 | 无 | 目前支持的地域类型为 |
accessId | 阿里云账号的AccessKey ID。 | String | 是 | 无 | 无。 |
accessKey | 阿里云账号的AccessKey Secret。 | String | 是 | 无 | 无。 |
tableName | 数据存储表的表标识符。 | String | 是 | 无 |
|
iotInstanceId | 物联网企业版实例ID。 您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 实例的更多信息,请参见实例概述。 | String | 是 | 无 | 数据格式为 |
clientId | 通道客户端ID,长度不可超过64个字符,可自定义,默认值为 | String | 否 | default | 无。 |
uid | 阿里云账号的UID。您可在账号主页查看。 | String | 是 | 无 | 无。 |