Я пытаюсь написать собственное правило CEP, которое создает операцию для агента для сбора измерения, которое вызвало запуск правила.Правило CEP выглядит следующим образом:
insert into CreateOperation
select
OperationStatus.PENDING as status,
"5345" as deviceId,
{
"c8y_GetData", {
"name": "get measurement data",
"measurementID": measurementEvent.measurement.id.value,
"measurementType": measurementEvent.measurement.type
}
} as fragments
from MeasurementCreated measurementEvent
where measurementEvent.measurement.type = "c8y_TemperatureMeasurement";
Когда я использую простые строки для полей measureEvent.measurement ... (например, "testString"), правило работает.Но эти строки вызывают ошибки при вводе, как в этом примере.Изменение ":" на "," как в примерах из документации, заставляет правило работать, но в результате получается
"name",
"get measurement data",
"measurementID",
"176438",
"measurementType",
"c8y_TemperatureMeasurement"
, который не работает как ключ, пара значений, например "name":"получить данные измерений" будет иметь.Попытка инкапсулировать фрагменты внутри фрагментов тоже, похоже, не работает.