Добрый день!
Я специально упомянул ранее, что у загруженного в сессию списка ТС нет никакого идентификатора.
у списка, конечно, нет никакого идентификатора, вернее если речь идет о группе объектов, то конечно, у группы внутри системы есть свой itemID. Но в большинстве запросов именно нужно указывать itemID объектов.
Ваш ответ намекает на то, что с помощью элемента itemID можно отразить список ТС в запросе events/load. Или эта фраза не относится к методу events/load?
Про селектор тоже не очень понял. Я получал события с вариантом селектора timeFrom-timeTo и нужной мне детализацией поездок. А как в селекторе указать список ТС? Или это тоже не ответ про список ТС?
все верно, в селекторе нужно указывать параметры выбора данных, например, timeFrom-timeTo , и нужную детализацию.
Список ТС тут никак не указывается.
у вас есть список ТС , он должен быть к примеру с именами и itemID объектов. Тогда в запросе events/load вы сможете передать itemID объекта.
В одном запросе указывается один itemID (один объект), поэтому несколько запросов events/load, нужно будет выполнить в запросе core/batch.
Здесь есть дополнение : каждый вызываемый events/load перезатирает предыдущий, т.е например вначале выполняем для объекта1, возвращаются данные, если потом выполнить для объект2 , то уже данные
Т.к метод core/batch возвращает суммирующий результат по всем указанным в нем запросам, и получится что в результате всегда будет только данные по одному (последнему) объекту.
Для того, чтобы избежать перезаписи нужно будет еще в batch добавить запрос events/unload
См пример для 4 объектов , в selector временные интервалы разбиты по дням
метод svc=core/batch
params :
{"params":[{"svc":"events/load","params":{"itemId":203,"ivalType":4,"timeFrom":1590537600,"timeTo":1591105392,"detectors":[{"type":"trips","filter1":0,"filter2":""}],"selector":{"expr":"(1590537600-1590623999|1590624001-1590710400|1590710401-1590796800|1590796801-1590883200|1590883201-1590969600|1590969601-1591056000|1591056001-1591105392)","timeFrom":1590537600,"timeTo":1591105392,"detalization":227}}},{"svc":"events/unload","params":{}},{"svc":"events/load","params":{"itemId":217,"ivalType":4,"timeFrom":1590537600,"timeTo":1591105392,"detectors":[{"type":"trips","filter1":0,"filter2":""}],"selector":{"expr":"(1590537600-1590623999|1590624001-1590710400|1590710401-1590796800|1590796801-1590883200|1590883201-1590969600|1590969601-1591056000|1591056001-1591105392)","timeFrom":1590537600,"timeTo":1591105392,"detalization":227}}},{"svc":"events/unload","params":{}},{"svc":"events/load","params":{"itemId":136,"ivalType":4,"timeFrom":1590537600,"timeTo":1591105392,"detectors":[{"type":"trips","filter1":0,"filter2":""}],"selector":{"expr":"(1590537600-1590623999|1590624001-1590710400|1590710401-1590796800|1590796801-1590883200|1590883201-1590969600|1590969601-1591056000|1591056001-1591105392)","timeFrom":1590537600,"timeTo":1591105392,"detalization":227}}},{"svc":"events/unload","params":{}},{"svc":"events/load","params":{"itemId":184,"ivalType":4,"timeFrom":1590537600,"timeTo":1591105392,"detectors":[{"type":"trips","filter1":0,"filter2":""}],"selector":{"expr":"(1590537600-1590623999|1590624001-1590710400|1590710401-1590796800|1590796801-1590883200|1590883201-1590969600|1590969601-1591056000|1591056001-1591105392)","timeFrom":1590537600,"timeTo":1591105392,"detalization":227}}},{"svc":"events/unload","params":{}}],"flags":0}
Тогда остаётся только упомянутый core/batch. Скажите, насколько оптимален предложенный вами метод для получения данных по списку примерно 100-500 ТС?
тут ограничений как таковых нет. Метод core/batch выполняет запросы последовательно, т.е просто больше времени нужно будет для выполения запроса по 500 объектам.
Подскажите, что даёт возможность указания списка ТС методом events/update_units? Этот список м.б. использован только одним методом events/check_updates или ещё где-то?
метод events/update_units и последующий метод events/update_units используются для получения данных в онлайн режиме (постоянно получать обновления) , т.е не исторический за N период.
Те id объектов, которые вы передали в метода events/update_units (для добавления объектов в сессию), конечно, вы можете использовать эти же значения id для itemID в events/load, если список TC тот же.
Diana Cheley
Wialon Hosting Expert
Gurtam