gpt4 book ai didi

基于类型的 Cumulocity 警报文本重写

转载 作者:行者123 更新时间:2023-12-01 13:20:35 25 4
gpt4 key购买 nike

我们在 cumulocity 的警报类型方面遇到了一个令人困惑的问题。

我们发现,当我们通过 HTTPS 或 MQTT 使用代理创建警报时,第一个警报创建(对于给定类型)的“类型”字段决定了任何后续调用的严重性和文本字段与相同的类型。

例如,如果第一次运行 MQTT 代理,它会运行:

client.publish('s/us', '301,Critical,TextA');
await waitFor(400);
client.publish('s/us', '302,Major,TextB');
await waitFor(400);
client.publish('s/us', '303,Minor,TextC');
await waitFor(400);
client.publish('s/us', '304,Warning,TextD');

如果相同的代码行随后被修改为:

// Note that 301 is used for all alarms, indicating severity critical
client.publish('s/us', '301,Critical,Apple');
await waitFor(400);
client.publish('s/us', '301,Major,Banana');
await waitFor(400);
client.publish('s/us', '301,Minor,Coconut');
await waitFor(400);
client.publish('s/us', '301,Warning,Durian');

创建的警报都将具有与其严重性和第一组调用中的文本相对应的严重性和文本,而不管我们现在为每个警报指定严重性 CRITICAL 和不同文本的事实;例如,将创建一个带有 {severity: "MAJOR", text: "TextB"} 的新警报。

奇怪的是,这种行为似乎基于前缀。如果将代码更改为:

client.publish('s/us', '301,Critical1000,Apple');
await waitFor(400);
client.publish('s/us', '301,Major1000,Banana');
await waitFor(400);
client.publish('s/us', '301,Minor1000,Coconut');
await waitFor(400);
client.publish('s/us', '301,Warning1000,Durian');

创建的警报将再次保留第一个警报创建时的严重性和文本,例如将创建具有 {severity: "MAJOR", text: "TextB", type: "Major1000"} 的第三个警报。

好的,所以某种基于前缀的缓存正在进行中。也许有办法清除它?

然而,我还没有描述出最神秘的现象。到目前为止,我所涉及的一切都是基于每个 ManagedObject 的。缓存不会转移到新的设备/托管对象。

但是,在我们的整个租约中,对于任何来源,任何带有{type: "Warning"} 的警报,或者其“type”以前缀“Warning”,将具有 {severity: "WARNING", text: "WOAHDUDE"}

概括地说,如果我们尝试创建一个从任何来源发出的类型为“警告”的警报,一个新的“WOAHDUDE”会出现在我们的仪表盘中。

在某个时候,我创建了一个带有{severity: "WARNING", type: "Warning", text: "WOAHDUDE"} 的警报。我不知道这是如何在整个租约中建立某种“WOAHDUDE”模板的,但它似乎有。我该如何撤消此操作?

最佳答案

我认为您遇到的只是警报重复数据删除(https://www.cumulocity.com/guides/reference/alarms/ 搜索重复数据删除)。

每当具有给定类型 x 的设备存在事件警报并且您为具有相同类型的同一设备创建新警报时,警报将被完全丢弃,并且在第一个警报中计数器会增加。

因此,如果第二个警报具有不同的严重性、文本或任何其他信息,则此信息不会更新到现有警报中。

关于所有具有前缀“Warning”的警报在类型中获得相同文本的问题。也许您在管理中创建了一个警报映射。这些映射是租户范围的,并且会在创建时覆盖警报的严重性和文本。

关于基于类型的 Cumulocity 警报文本重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50112832/

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