children - 如何通过 inventory api 将子设备设置为设备?

标签 children inventory cumulocity

我正在尝试使用库存 API 将子设备设置为 Cumulocity 中的设备,遗憾的是没有成功。

我已经尝试过以下操作:

            GId gid = new GId(deviceId);
            ManagedObjectRepresentation deviceRepresentation = inventoryApi.get(gid);
            ManagedObjectReferenceCollectionRepresentation childDevices = new ManagedObjectReferenceCollectionRepresentation();
            ManagedObjectReferenceRepresentation morr = new ManagedObjectReferenceRepresentation();
            morr.setManagedObject(mo);
            List<ManagedObjectReferenceRepresentation> references = new ArrayList<ManagedObjectReferenceRepresentation>();
            references.add(morr);
            childDevices.setReferences(references);
            deviceRepresentation.setChildDevices(childDevices);
            deviceRepresentation.setLastUpdatedDateTime(null);
            inventoryApi.update(deviceRepresentation);

没有抛出错误,但之后,当我查看 list 时,设备都没有设置 childDevices,托管对象也没有设置 deviceParents。 我做错了什么?

最佳答案

子设备和 Assets 是使用专用端点设置的,而不是通过更改托管对象中的子列表来设置。请参阅https://cumulocity.com/guides/reference/inventory/#managed-object-reference-collection了解详情。

在您使用 java-client 的情况下,您可以这样做:

GId parentID = new GId(deviceId);
GId childId = new GId(childDeviceId);
ManagedObject managedObjectApi = inventoryApi.getManagedObjectApi(parentID);
managedObjectApi.addChildDevice(childId);

关于children - 如何通过 inventory api 将子设备设置为设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57359043/

相关文章:

linux - 树莓派的linux代理无法连接cumulocity平台

javascript - 获取每行中也与复合选择器匹配的第 n 个子节点

C++ 在函数调用和函数完成后,游戏完全崩溃

c# - WPF MenuItem 子项未显示

java - 为什么我会收到这些错误?

javascript - 如何在本地存储中保存图像位置

cumulocity - 如何使用 Cumulocity Device mgm/Configuration Repository?

Cumulocity 事件语言 - 调用外部 API

jquery - 悬停时更改一个元素及其所有子元素的背景jquery

jquery - 使用 jQuery 计算 div 中嵌套的所有输入