【以下的问题经过翻译处理】 我正在尝试通过IoT Core将一些数据传递到SiteWise中,但我一直从规则中得到这个结果:
"details": "执行替换模板后,PutAssetPropertyValueEntries为空。消息到达时间:,操作:iotSiteWise"
我认为原因是这样的:
注意
由于替换模板中的表达式与SELECT语句分开评估,因此您不能使用替换模板引用使用AS子句创建的别名。您只能引用原始负载中存在的信息,以及支持的函数和运算符。
我试图这样做作为源:
SELECT fields.rms0, fields.rms1, fields.rms2, time_to_epoch(timestamp, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")/1000 as ts
但我从文档中发现这不起作用。在规则中,我尝试另一种方式:在时间戳映射中(在UI中),我试图将时间设置为:
${time_to_epoch(timestamp, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")/1000}
但那也不起作用——它给了我一个错误,说它不理解time_to_epoch。
接下来,我尝试回到这个:
SELECT *
在写入到SiteWise的规则中,我将所有时间戳字段设置为:
${floor(time_to_epoch(timestamp, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") / 1E3)}
按照手册。
"resources": {
"FunctionName": "time_to_epoch"
},
"details": "未定义的结果"
"resources": {
"FunctionName": "floor"
},
"details": "未定义的结果"
所以我没有取得太大的成功。有没有办法记录BatchPutAssetPropertyValue请求中包含的内容?