在使用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 | 是 | 無 | 無。 |