Форма, которую я вижу в вашей документации, можно запросить базу данных для получения дополнительных данных при написании CEL, но можно ли вызвать внешний API? Возможно также обновить измерение для заполнения отсутствующего значения.Язык событий Cumulocity - вызов внешнего API
Например, если я хочу обновить измерения, добавляя «альт» значение сегмента «c8y_Position», вызывая специфический API: https://maps.googleapis.com/maps/api/elevation/json?locations=40.714728,-73.998672
Можно написать такого рода заявления:
expression string js:getElevation(lng, lat) [
function request(lng, lat, callback) {
var xobj = new XMLHttpRequest();
// true parameter denotes asynchronous
xobj.open('GET', 'https://maps.googleapis.com/maps/api/elevation/json?locations=' + lat + ', ' + lng + ', true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
}
};
xobj.send(null);
}
request(lng, lat, function (data) {
return data.results.elevation;
});
]
insert into UpdateMeasurement
select
e.id as id,
getElevation(
getNumber(e, "c8y_Position.lng.value"),
getNumber(e, "c8y_Position.lat.value")
) as c8y_Position.alt
from MeasurementCreated e
Можно ли производить такой вид обработки. У вас есть больше образцов или документации на CEL?
Привет, вы можете мне помочь здесь https://stackoverflow.com/q/48876012/2442565 –