美文网首页
2020-07-03 编排UpdateRecord组价过滤JSO

2020-07-03 编排UpdateRecord组价过滤JSO

作者: 五大RobertWu伍洋 | 来源:发表于2020-07-03 19:51 被阅读0次

实现如下输入转化为新的输出:

输入:

[{
    "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')}

该组件的值替换策略使用字面值

相关文章

网友评论

      本文标题:2020-07-03 编排UpdateRecord组价过滤JSO

      本文链接:https://www.haomeiwen.com/subject/cldeqktx.html