gpt4 book ai didi

Cumulocity 事件语言 - 调用外部 API

转载 作者:行者123 更新时间:2023-12-03 16:45:50 25 4
gpt4 key购买 nike

形成我在您的文档中看到的内容,在编写 CEL 时可以查询数据库以获取其他数据,但是是否可以调用外部 API?是否也可以更新测量以填充缺失值。

例如,如果我想通过调用特定 API 来添加“c8y_Position”段的“alt”值来更新度量: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 的样本或文档吗?

最佳答案

更新:

一段时间以来,可以使用 SendRequest 流 ( https://www.cumulocity.com/guides/event-language/data-model#sendrequest ) 从 CEL 调用外部 API。可以通过 ResponseReceived ( https://www.cumulocity.com/guides/event-language/data-model/#response-received ) 流接收结果。

之前的回复:

您可以使用 Cumulocity 应用程序 ( https://zapier.com/zapbook/cumulocity/ ) 将实时事件导入 Zapier,然后从那里导入许多其他应用程序。除了 Zapier 中的 500 多个应用程序外,还有一个通用的 Webhooks 应用程序 (https://zapier.com/zapbook/webhook/) 允许基于 Cumulocity 事件发送任何类型的 REST 请求。

它可能不适用于您的直接示例,但它仍然是一个非常有用的工具。

(您无法在 Cumulocity 中更新测量值,您必须创建一个新的测量值;您还需要为可以在 map 中显示的位置更新创建事件。)

关于Cumulocity 事件语言 - 调用外部 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35291847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com