实现如下输入转化为新的输出:
输入:
[{
"pointName": "DCS50.TEST000061",
"time": "1588831801",
"value": "80.01",
"status": 0
}, {
"pointName": "DCS50.TEST000062",
"time": "1588831801",
"value": "80.01",
"status": 0
}, {
"pointName": "DCS50.TEST000063",
"time": "1588831801",
"value": "80.01",
"status": 0
}]
输出:
[
{
"time": "2020-05-07 14:10:01",
"status": 0,
"value": 80.01
},
{
"time": "2020-05-07 14:10:01",
"status": 0,
"value": 80.01
},
{
"time": "2020-05-07 14:10:01",
"status": 0,
"value": 80.01
}
]
记录读取服务设置的schema:
{
"type": "record",
"name": "originalResponse",
"namespace": "any.data",
"fields": [
{
"name": "pointName",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"string"
]
},
{
"name": "value",
"type": [
"null",
"string"
]
},
{
"name": "time",
"type": [
"null",
"string"
]
}
]
}
设置记录存取服务的schema来主动过滤掉不关心的属性:
{
"type": "record",
"name": "frontedResponse",
"namespace": "any.data",
"fields": [
{
"name": "time",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"int"
]
},
{
"name": "value",
"type": [
"null",
"double"
]
}
]
}
设置schema写入策略为不写入schema
组件上添加 RecordPath 规则的属性(//time
), 完成时间属性值的转化(从时间戳转换为格式化时间):
${field.value:length():lt(13):ifElse(${field.value:append('000')},${field.value}):format('yyyy-MM-dd HH:mm:ss')}
该组件的值替换策略
使用字面值
网友评论