IoT數(shù)據(jù)源
DataWorks數(shù)據(jù)集成支持使用IoT Reader插件讀取物聯(lián)網(wǎng)企業(yè)實例數(shù)據(jù)服務中提供的系統(tǒng)表、產(chǎn)品表、自定義存儲表,本文為您介紹DataWorks的IoT數(shù)據(jù)讀取能力。
支持的版本
僅華東2(上海)、華北2(北京)、華南1(深圳)地域的標準型和尊享型實例下支持IoT Reader。
使用限制
IoT Reader不支持使用數(shù)據(jù)過濾功能。
IoT Reader支持使用Serverless資源組(推薦)和獨享數(shù)據(jù)集成資源組。
目前僅華東2(上海)、華南1(深圳)、華北2(北京)地域支持IoT Reader插件。
讀取時序存儲表時,支持指定讀取數(shù)據(jù)的時間范圍。
支持的字段類型
IoT Reader支持物聯(lián)網(wǎng)企業(yè)實例存儲表所有的數(shù)據(jù)類型,如下表所示。
類型分類 | 物聯(lián)網(wǎng)平臺存儲表數(shù)據(jù)類型 | 數(shù)據(jù)集成配置類型 |
整數(shù)類 | BIGINT | BIGINT |
布爾類 | BOOLEAN | BOOLEAN |
日期時間類 | TIMESTAMP | BIGINT |
浮點類 | DOUBLE | DOUBLE |
字符串類 | VARCHAR | STRING |
支持的存儲表
數(shù)據(jù)表 | 表標識符 | 描述 |
產(chǎn)品表 | system.iotx_product | 存儲了物聯(lián)網(wǎng)平臺產(chǎn)品元信息,包括產(chǎn)品的ProductKey、名稱、創(chuàng)建時間、修改時間等。詳情請參見查看平臺系統(tǒng)表和產(chǎn)品存儲表。 |
設備表 | system.device | 存儲了物聯(lián)網(wǎng)平臺設備元信息,包括所屬產(chǎn)品的設備唯一標識符IotId、激活時間、狀態(tài)、物理地址、設備類型等。 |
設備分組表 | system.device_group | 存儲了設備分組信息,包括分組類型、分組名稱、描述等。 |
設備分組關系表 | system.device_group_relation | 存儲了設備和分組的關系。 |
產(chǎn)品屬性時序表 | product.*********** | 設備上報的物模型屬性歷史數(shù)據(jù)。詳情請參見查看平臺系統(tǒng)表和產(chǎn)品存儲表。 |
產(chǎn)品事件表 | event.*********** | 設備上報的物模型事件歷史數(shù)據(jù)。詳情請參見查看平臺系統(tǒng)表和產(chǎn)品存儲表。 |
自定義存儲表 | ******(用戶自定義) | 詳情請參見創(chuàng)建和管理自定義存儲表。 |
產(chǎn)品屬性時序表結構
產(chǎn)品屬性時序表標識符為product.***********
(***********為產(chǎn)品的產(chǎn)品Key)。存儲已上報的物模型屬性數(shù)據(jù)。
字段標識符 | 字段類型 | 樣例 | 備注 |
product_key | STRING | al12345**** | 產(chǎn)品Key。 |
device_name | STRING | deviceName1234 | 設備名。 |
iot_id | STRING | 4z819VQHk6VSLmmBJfrf00107e**** | 設備唯一標識。 |
event_time | BIGINT | 1510799670074 | 消息時間戳。 |
event_date | STRING | 20220101 | 消息上報日期,格式為yyyyMMdd。 |
items | STRING | {"Power":{"value":"on","time":1510799670074},"Position":{"time":1510292697470,"value":{"latitude":39.9,"longitude":116.38}}} | 設備上報的屬性。 |
產(chǎn)品事件表結構
產(chǎn)品事件表標識符為event.***********
(***********為產(chǎn)品的產(chǎn)品Key)。存儲已上報的物模型事件數(shù)據(jù)。
字段標識符 | 字段類型 | 樣例 | 備注 |
product_key | STRING | al12345**** | 產(chǎn)品Key。 |
device_name | STRING | deviceName1234 | 設備名。 |
iot_id | STRING | 4z819VQHk6VSLmmBJfrf00107e**** | 設備唯一標識。 |
event_time | BIGINT | 1524448722000 | 消息時間戳。 |
event_date | STRING | 20220101 | 消息上報日期,格式為yyyyMMdd。 |
event_code | STRING | Alarm | 設備上報的事件標識符。 |
items | STRING | { "value": { "Power": "on", "WF": "2" }, "time": 1524448722000 } | 設備上報事件的輸出參數(shù)。 |
數(shù)據(jù)同步任務開發(fā)
數(shù)據(jù)同步任務的配置入口和通用配置流程可參見下文的配置指導。
操作流程請參見通過向導模式配置離線同步任務、通過腳本模式配置離線同步任務。
腳本模式配置的全量參數(shù)和腳本Demo請參見下文的附錄:腳本Demo與參數(shù)說明。
附錄:腳本Demo與參數(shù)說明
離線任務腳本配置方式
如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統(tǒng)一的腳本格式要求,在任務腳本中編寫相應的參數(shù),詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數(shù)據(jù)源的參數(shù)配置詳情。
Reader腳本Demo
從IoT Reader數(shù)據(jù)源的產(chǎn)品時序存儲表中讀取數(shù)據(jù),寫入到一張MaxCompute表中的腳本示例如下。
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "iot", // 請指定 "iot",表示IoT Reader數(shù)據(jù)源
"parameter": {
"accessId": "LT********", // 用于訪問物聯(lián)網(wǎng)企業(yè)實例的accessId。
"accessKey": "******", // 用于訪問物聯(lián)網(wǎng)企業(yè)實例的accessKey
"regionId": "cn-shanghai", // 物聯(lián)網(wǎng)企業(yè)實例的地域ID
"instanceId": "iot-*******", // 物聯(lián)網(wǎng)企業(yè)實例ID
"column": [ // 讀取IoT數(shù)據(jù)存儲表的列信息
"product_key",
"device_name",
"iot_id",
"event_time",
"event_date",
"items"
],
"table": "product.h******", // 數(shù)據(jù)存儲表的表標識符
"date": "${bizdate}" // 日期格式為yyyyMMdd,如"20151111",表示導出該日的數(shù)據(jù)
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "ds=${bizdate}",
"truncate": true,
"indexes": [],
"datasource": "odps_source",
"envType": 0,
"isSupportThreeModel": false,
"column": [
"product_key",
"device_name",
"iot_id",
"event_time",
"event_date",
"items"
],
"emptyAsNull": false,
"table": "ods_product_timeline_dd"
},
"name": "Writer",
"category": "writer"
},
{
"copies": 1,
"parameter": {
"nodes": [],
"edges": [],
"groups": [],
"version": "2.0"
},
"name": "Processor",
"category": "processor"
}
],
"setting": {
"errorLimit": {
"record": ""
},
"locale": "zh",
"speed": {
"throttle": false,
"concurrent": 2
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Reader腳本參數(shù)
參數(shù) | 描述 | 是否必選 | 默認值 |
accessId | 用于訪問物聯(lián)網(wǎng)企業(yè)實例的AccessKey ID。 您可以在控制臺AccessKey管理頁面查看您的阿里云賬號的AccessKey ID和AccessKey Secret。 說明 如果使用RAM用戶,您需授予該RAM用戶管理物聯(lián)網(wǎng)平臺的權限(AliyunIOTFullAccess),否則將連接失敗。授權方法請參見授權RAM用戶訪問物聯(lián)網(wǎng)平臺。 | 是 | 無 |
accessKey | 用于訪問物聯(lián)網(wǎng)企業(yè)實例的AccessKey Secret。 您可以在控制臺AccessKey管理頁面查看您的阿里云賬號的AccessKey ID和AccessKey Secret。 | 是 | 無 |
regionId | 物聯(lián)網(wǎng)企業(yè)實例的地域ID。必須與DataWorks所在的地域保持一致。 僅華東2(上海)、華北2(北京)、華南1(深圳)地域的標準型和尊享型實例下支持IoT Reader。 | 是 | 無 |
instanceId | 物聯(lián)網(wǎng)企業(yè)實例ID。您可在物聯(lián)網(wǎng)平臺控制臺的實例概覽頁面,查看當前實例的ID。實例的更多信息請參見實例概述。 | 是 | 無 |
table | 數(shù)據(jù)存儲表的表標識符。IoT Reader支持的數(shù)據(jù)存儲表的更多信息請參見支持的存儲表。 說明 IoT Reader的表標識符不包含“${”與“}”。 | 是 | 無 |
column | 讀取IoT數(shù)據(jù)存儲表的列信息。例如自定義存儲表test的字段為id、name和age:
| 是 | 無 |
date | 日期格式為yyyyMMdd,例如20151111,表示導出該日的數(shù)據(jù)。 說明
| 否 | 無 |