Интерфейс обмена данными (DataQuerySource)¶
Начиная с в 2.15.102.247, 2.16.0.13
Назначение¶
Позволяет получать извне содержимое эфирного расписания или содержимое элементов МДБ. Возможно получение в формате XML через утилиту командной строки DataQuerySourceClient.exe или через Систему Событий. Для работы экстендера необходима настроенная Система событий, позволяющая обратиться к приложению извне. Настройка_системы_событий_в_приложениях_Дигиспот_II. Протокол обмена должен быть указан XML (PROTOCOL="XML").
Источник данных для формирования XML (может быть вещательный Джинн или планировщик):
<EVENT_SERVER HOST="SERVER">
<CLIENTS>
<TCP ADDR="SERVER_XML" TYPE="SERVER" IP="0.0.0.0" PORT="7777" PROTOCOL="XML"/>
</CLIENTS>
</EVENT_SERVER>
Приемник данных для формирования XML (рабочее место с DataQuerySource.dll):
<EVENT_SERVER HOST="CLIENT">
<CLIENTS>
<TCP TYPE="CLIENT" IP="127.0.0.1" PORT="7777" PROTOCOL="XML"/>
</CLIENTS>
</EVENT_SERVER>
Настройка¶
Файл библиотеки плагина: DataQuerySource.dll, необходимо разместить в папке Extenders Джинна, в которого доступно необходимое расписание и/или База Данных, при этом идентификатор плагина будет фиксированный: DataQuerySource
Утилита DataQuerySourceClient¶
Утилита позволяет обращаться к DataQuerySource и получать результаты в виде XML. Утилита должна находиться на рабочем месте, на котором планируется получать данные в формате XML.
Параметры запроса передаются через командную строку, результат возвращается в вид XML в стандартный поток вывода.
Параметры вызова утилиты отображаются, если ее запустить без параметров.
Parameters: <Module name> <Address> <Command> [Arguments]
Module name - module name of the data query plugin
Address - address connection to server ([ip address]:[port])
Command - command name
Arguments - arguments to command (<Value name>,<Type>=<value>|"<value>"[ ]...
Known commands:
* GET_MDB_ITEM_INFO - gets MDB item with specified id
id - Db id of MDB item, Int32, ex: 1234
* GET_SCHEDULE_CONTENT - gets scheule content
sch_folder_name - name of schedule, as in Global settings, string
sch_folder_path - path to schedule, as in Global settings, string
date - schedule date, string, yyyy-mm-dd
В версиях начиная с 2.16.76 и 2.17.0.121 - добавлены 2 параметра: /u, /timeout
Optional switches:
/u - turn output encoding to UTF-8, to avoid output character conversion,
/timeout=xxx - set reply timeout, where xxx is integer timeout value, seconds (socket will closed)
В примерах, приведенных ниже, DataQuerySourceClient.exe обращается к DataQuerySource, находящемуся в составе локально работающего приложения (т.к. обращается через адрес 127.0.0.1), которое использует порт 7777 для обмена событиями в формате XML.
Пример получения информации об элементе МБД с идентификатором 1.
DataQuerySourceClient.exe DataQuerySource 127.0.0.1:7777 GET_MDB_ITEM_INFO id,Int32=1
Пример получения расписания Default на 30 января 2013 года.
DataQuerySourceClient.exe DataQuerySource 127.0.0.1:7777 GET_SCHEDULE_CONTENT sch_folder_name=Default date=2013-01-30