Как получить имя поля и структуру для дополнительных свойств в работе, manageObject и т. д.

Я пытаюсь выяснить, какие фрагменты связаны с операцией:

  • управляемый объект
  • мероприятие
  • измерение
  • тревога

Итак, есть ли способ получить все эти фрагменты?

Также есть дополнительные свойства, для которых имя поля определяется как *, а значение может быть объектом или чем-либо еще (*). Я просмотрел библиотеку управления устройствами и библиотеку датчиков в документации по совокупностям, но обнаружил, что она не содержит всех возможных фрагментов, и нет ясности, в каком объекте находится фрагмент, т.е. он работает или управляемый объект, или оба?


person Mohit Tyagi    schedule 21.12.2016    source источник


Ответы (1)


Поскольку каждый пользователь, устройство и приложение могут вносить такие фрагменты, не существует их "глобального списка", на который вы могли бы ссылаться. Обычно клиент (приложение, устройство) знает, какие данные он отправляет или какие данные запрашивает, поэтому в большинстве случаев это также не требуется.

Что касается взаимосвязи между операциями и управляемыми объектами, существует несколько типичных шаблонов проектирования. Допустим, вы хотите настроить что-то в устройстве, например, интервал опроса:

"mydevice_Configuration": { "pollingRate": 60 }

Что сделает ваше приложение, так это отправит этот фрагмент как операцию на устройство:

POST /devicecontrol/operations HTTP/1.1
...
{
   "deviceId": "12345",
   "mydevice_Configuration": { "pollingRate": 60 }
}

Устройство примет операцию (http://cumulocity.com/guides/rest/device-integration/#step-6-finish-operations-and-subscribe) и измените его конфигурацию. Когда он сделает это успешно, он обновит свой управляемый объект, чтобы он содержал новую конфигурацию:

PUT /inventory/managedObjects/12345 HTTP/1.1
{
   "mydevice_Configuration": { "pollingRate": 60 }
}

Таким образом, ваш инвентарь максимально точно отражает истинное состояние устройств.

Надеюсь, это поможет ...

person André    schedule 21.12.2016