Skip to main content

Capture Object Array

[
{
"Tags": {
"Serialnumber": "11111"
},

"Fields": {
"value1": 0,
"value2": 1,
"value3": 2
},
"Timestamp": 1689690810500

},
{
"Tags": {
"Serialnumber": "11111"
},

"Fields": {
"value1": 2,
"value2": 1,
"value3": 0
},
"Timestamp": 1689690810600

}
]

Will create this:

TimestampSerialnumberVarName_value1VarName_value2VarName_value3
168969081050011111012
168969081060011111210
Tags is required

As for a single Capture Object, an array is read as a Capture Object Array only when its objects carry Tags and Fields keys; without them it is read as plain JSON. Give every object in the array both keys, and send "Tags": {} when there are no tags.

Timestamp​

Each object's Timestamp is a Unix timestamp in milliseconds (UTC), sent as a number, as for a single Capture Object. A numeric string ("1689690810500") is accepted too. Leave it out, or set it to 0, to use the time Capture Edge receives the message.

warning

An array always reads Timestamp as milliseconds. A value in seconds lands in January 1970 and the point is dropped, with only a warning in the Collector log that does not name the variable: Points with a timestamp beyond the retention policy have been dropped.

Edge2.3.1+ An element whose value is no date at all in milliseconds (a value in nanoseconds, for example) is stored at the time Capture Edge receives the message, with a warning in the Collector log that names the variable; the other elements are kept.


NOTE: In Capture Edge versions before 2.0.9 the field name was not prefixed with the variable name. To revert to this old behavior (to support older dashboards), set this on the custom Connect Settings (cogwheel next to the Connection settings): {"DataParseOptions":{"CaptureObjectParseOptions":{"PrefixFieldNameWithVariableName":false}}}