WSO2 DAS - 使用 JSON 发送多个事件

WSO2 DAS - Sending multiple events using JSON

我正在尝试使用 JSON 一次发送多个事件,发送以下内容:

{
    "event": {
        "metaData": {
            "meta_timestamp": 4.504343
        },
        "payloadData": {
            "value": 20.44345
        }
    },
    "event": {
        "metaData": {
            "meta_timestamp": 3.57724
        },
        "payloadData": {
            "value": 9.30211
        }
    },
    "event": {
        "metaData": {
            "meta_timestamp": 8.94134
        },
        "payloadData": {
            "value": 35.41315
        }
    }
}

我使用的 JSON 格式是否正确?

目前,事件接收器已准备好接收如下内容:

{
    "event": {
        "metaData": {
            "meta_timestamp": 4.504343
        },
        "payloadData": {
            "value": 20.44345
        }
    }
}

我一直在阅读有关 "JSON input mapping" 的文档,但我不知道如何使用它 (see the image)。

有什么想法吗?

您 JSON 为此目的输入映射。如果输入 JSON 是一个数组,每个元素将被视为一个单独的事件。考虑以下自定义 JSON 文件。

[
    {
       "sensorData": {

               "timestamp": 19900813115534,
               "powerSaved": false,
               "id": 501,
               "name": temperature,
               "long": 90.34344,
               "lat": 20.44345,
               "humidity": 2.3,
               "temp": 20.44345
           }
       }
    },
    {
       "sensorData": {
               "timestamp": 19900813115534,
               "powerSaved": false,
               "id": 502,
               "name": temperature,
               "long": 90.34344,
               "lat": 20.44345,
               "humidity": 2.3,
               "temp": 20.44345
           }
       }
    }
]

假设在流中有一个名为 "isPowerSaverEnabled" 的元属性来存储上述 JSON 的 "powerSaved" 属性。然后在 JSON 路径中应该是 $.sensorData.powerSaved,在 "Mapped to" 字段中应该是 meta_isPowerSaverEnabled

有关详细信息,请参阅文档 [1]。这个映射的示例在 WSO2CEP 包中可用,您也可以参考那个 [2]

[1] https://docs.wso2.com/display/DAS310/Input+Mapping+Types#InputMappingTypes-JSONinputmappingJSONInputMapping

[2]https://docs.wso2.com/display/CEP410/Sample+0002+-+Receiving+Custom+JSON+Events+via+HTTP+Transport