Proficy Historian RestAPI - извлечение интерполированных данных с тегами, которые содержат "#"
У меня проблемы с доступом к интерполированным данным для тегов, которые содержат либо "#", либо "/" из опытного историка, использующего restAPI. Я могу получить интерполированные данные для всех других тегов.
например, доступ к интерполированным данным с tagName: Tag123#Value
oauth.get("https://<server>:8443/historian-rest-api/v1/datapoints/interpolated/Tag123%23Value/<starttime>/<endtime>/0/60000")
возвращается
error code 400 - request was malformed.
Однако я могу получить текущее значение для Tag123 # Значение
oauth.get("https://<server>:8443/historian-rest-api/v1/datapoints/currentvalue?tagNames=Tag123%23Value")
примечание: я уже URI кодирую тег, который позволяет мне получать текущие значения - однако я подозреваю, что проблема связана с кодировкой URI...
1 ответ
Судя по моему опыту настройки скрипта Python для запроса данных через оставшийся API-интерфейс procincy history, вы должны иметь возможность переводить все символы обратной косой черты (\) в звездочки (*):
https://<historianservername>:8443/historian-rest-api/v1/datapoints/interpolated/test\tag_with\\weirdcharch/2022-5-9T01:13:00.0Z/2022-5-10T:01:13:00.0Z/0/600000
Выдает: ошибка 404 в curl
https://<historianservername>:8443/historian-rest-api/v1/datapoints/interpolated/test%5Ctag_with%5C%5Cweirdcharch/2022-5-9T01:13:00.0Z/2022-5-10T:01:13:00.0Z/0/600000
Выдает: тег не найден
https://<historianservername>:8443/historian-rest-api/v1/datapoints/interpolated/test*tag_with**weirdcharch/2022-5-9T01:13:00.0Z/2022-5-10T:01:13:00.0Z/0/600000
Дает: запрошенные данные, которые я искал
Обратите внимание: из отладочных отпечатков, которые я смог попробовать, я заметил, что в curl обратная косая черта преобразуется в переднюю косую черту, поэтому он попытался просмотреть этот каталог с первой ссылкой в качестве ввода:https://<historianservername>:8443/historian-rest-api/v1/datapoints/interpolated/test/tag_with//weirdcharch/2022-5-9T01:13:00.0Z/2022-5-10T:01:13:00.0Z/0/600000
Я думаю, что это причина ошибки 404.
Редактировать: обратите внимание, что это было сделано в Proficy Historian версии 9.0!!