Запросы в стиле OData в Cumulocity

Я хотел отправить запрос OData в Cumulocity. Я получил несколько документов, указывающих на особый формат запроса в платформе:

...&q=$filter%3D(c8y_Availability.status+eq+%27AVAILABLE%27)

Кстати он не рабочий (по списку будильников). Поддерживаете ли вы OData-запрос? Можете ли вы предоставить мне образец запроса OData в совокупности?


person Parda    schedule 02.10.2018    source источник


Ответы (1)


Посмотрите здесь: http://cumulocity.com/guides/reference/inventory/#query-language

Примеры есть внизу раздела.

Совет. Вы также можете заглянуть в Инструменты разработчика Chrome при редактировании фильтров списка устройств в приложении управления устройствами. Ваш приведенный выше пример выглядит так в инструментах разработчика:

https://demos.cumulocity.com/inventory/managedObjects?currentPage=1&pageSize=100&q=$filter%3D(c8y_Availability.status+eq+%27AVAILABLE%27)&withGroups=true&withTotalPages=true

... и это очень похоже на пример, который вы привели выше.

person André    schedule 02.10.2018
comment
Итак, работает ли это только с управляемыми объектами? Может быть, это причина. Потому что я хочу фильтровать сигналы тревоги с помощью моих новых определенных атрибутов, а фильтр OData не работает. - person Parda; 15.10.2018
comment
Да, это правильно. В настоящее время вы не можете использовать OData для других типов данных. Это вызовет проблемы с производительностью. - person André; 16.10.2018
comment
Я проверил запрос ODATA на manageObjects с другим типом (без устройства), и он не работает! Таким образом, у вас есть фильтрация только для управляемых объектов с типом устройства. Это действительно так ограничено? - person Parda; 19.02.2019
comment
Думаю, @Parda уже слишком поздно для вас, но, возможно, это поможет другим: вы также можете фильтровать управляемые объекты, не относящиеся к устройству. Но тогда вы должны использовать параметр запроса запроса: {{url}}/inventory/managedObjects?query=%24filter%3D((has(com_example_Fragment)) - person goflo; 03.11.2020