Вызов Cumulocity API с группой устройств, типом устройства или несколькими источниками

Я хотел бы вызвать API событий/предупреждений, но отфильтровать результаты по типу устройства или группе устройств или, в крайнем случае, с несколькими источниками. Есть ли способ сделать простой вызов API для достижения этого результата? На данный момент я использую /inventory/managedObjects с типом устройства сначала, чтобы получить список устройств, а затем прокручивать результаты и вызывать события/сигналы тревоги для каждого устройства, но это не похоже на хороший способ сделать Это.


person Gaetan L.    schedule 26.08.2016    source источник


Ответы (1)


В настоящее время нет возможности запрашивать API событий и тревог для набора идентификаторов источников. Вы можете запрашивать только один идентификатор.

Если вы совершенно недовольны вызовом каждого устройства в группе, мне приходят на ум два обходных пути:

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

Вы можете создать правило обработки событий, которое добавляет дополнительный фрагмент к каждой созданной тревоге и событию на основе группы устройств (входящая тревога -> проверить источник -> проверить родителей источника (есть функция findAllManagedObjectParent). Например, вы добавляете:

"myDeviceGroupName": {}

ко всем тревогам и событиям. После этого вы можете запрашивать API не по источнику, а по fragmentType.

person TyrManuZ    schedule 05.09.2016
comment
Спасибо за ваш ответ. Чтобы быть уверенным, как бы я использовал fragmentType в этом вызове API, например, чтобы указать группу устройств post-iot.lu/measurement/measurements?source=26932 ? - person Gaetan L.; 05.09.2016
comment
Вы бы запросили /measurement/measurements?fragmentType=myDeviceGroupName - person TyrManuZ; 06.09.2016
comment
Большое спасибо, я попробую это, когда у меня будет шанс. - person Gaetan L.; 08.09.2016