我正在尝试设置 Cumulocity smartREST 响应模板以提供应用程序存储的设备对象的信息。我认为这是不可能的,但我想确认一下,因为文档很简短而且不清楚。
我之前已经成功实现了测量发布模板,但我现在正在尝试执行库存获取。我已经在设备对象中设置了一些值,并且可以从tenant.cumulocity.com/inventory/managedObjects/id/ 中看到它们。这可能看起来像:
"custom_values": {
"val1": "abcde",
"val2": "fghij"
}
现在,我转到 smartREST 模板 Web 界面编辑器并创建一个模板(例如 t1)并设置一条消息(例如 m001)并将其设置为“库存”和“获取”并勾选“包括响应”。我不确定这里是否需要自定义字段。然后我创建一个响应(例如 r001),现在我必须使用条件和一些其他模式填充基本模式。我假设在这些字段之一中我有 $.custom_values.val1 等,但我尝试的所有排列都会导致主题“s/e”中的“无法访问对象”错误。
我的理想结果(来自上面的示例)是使用“m001”发布到“/s/uc/t1”并接收“r001,abcde”(即custom_values.val1)并发布“m002”并接收“r001,fghij” '(即custom_values.val2)。
感谢您抽出时间阅读。
您的方法是正确的,但您的 MQTT 用户可能只是缺少对应用程序创建的对象的权限(我猜 mqtt 客户端是设备用户)。
这里最好的方法是为您从应用程序创建的对象提供片段 c8y_Global
{
"name": "testObject3",
"c8y_Global": {},
"custom_values": {
"val1": "abcde",
"val2": "fghij"
}
}
该片段将使该对象可供所有注册用户使用。这是应用程序元数据的常见做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)