.. _JSONata: https://jsonata.org/ Регистрация коннектора в платформе ---------------------------------- Для того, чтобы платформа могла работать с коннектором, он должен быть в ней зарегистрирован. Регистрация коннектора в платформе выполняется POST-запросом ``https:///v1/connectors``: .. http:example:: :request: requests/addConnectorIn.txt :response: requests/addConnectorOut.txt **Запрос:** * **attributes** (dict) - словарь с параметрами для создания коннектора. Обязательный параметр. * **cn** (str) - имя коннектора. Необязательный атрибут. По умолчанию = ``id`` вновь созданного коннектора. * **description** (str) - описание коннектора. Необязательный атрибут. * **prsEntityTypeCode** (int) - Необязательный атрибут, может использоваться разработчиками коннекторов по своему усмотрению. * **prsIndex** (int) - Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются в соответствии с их индексами. Необязательный атрибут. * **prsActive** (bool) - Определяет, активен ли коннектор. Необязательный атрибут. По умолчанию = ``true``. * **prsJsonConfigString** (str) - Конфигурация коннектора. Имеет вид: .. code-block:: json { "source": {}, "log": { "level": "INFO", "fileName": "logs/prs_connector.log", "maxBytes": 10485760, "backupCount": 10 } } где: * **source** (json) - информация для коннектора о том, как подключаться к источнику данных; Формат этого ключа целиком зависит от конкретной реализации коннектора и должен быть описан в его документации. * **log** (json) - настройки логирования. * **linkTags** (list[json]) - список тегов, для которых коннектор должен поставлять данные. Необязательный атрибут. Каждый элемент списка - json, описывающий один привязанный к коннектору тег. Элемент имеет вид: .. code-block:: json { "tagId": "", "attributes": { "prsJsonConfigString": { "source": {}, "maxDev": 0.5, "JSONata": "" } } } где: * **tagId** (str) - id прикрепляемого тега. Обязательный атрибут. * **attributes** (json) - json с параметрами для прилинкованного тега. Json имеет один ключ - **prsJsonConfigString**, который, в свою очередь, содержит три ключа: * **source** (dict) - информация для коннектора о том, каким образом получать данные тега из источника. Формат этого ключа целиком зависит от конкретной реализации коннектора и должен быть описан в его документации. * **maxDev** (float) - максимально значимое отклонение значения тега. Если вновь прочитанное коннектором значение тега отличается от последнего, отправленного в платформу значения меньше, чем на указанную в **maxDev** величину, то новое значение тега просто игнорируется. Таким образом, с помощью этого ключа коннектор отсеивает незначащие отклонения параметров. Если в теге хранятся значения типов ``str`` или ``json``, то если ``maxDev = 0``, то в платформу будет отсылаться каждое новое прочитанное значение тега. Если же ``maxDev != 0``, то в платформу будет отсылаться новое прочитанное значение в том случае, если оно отличается от предыдущего. * **JSONata** (str) - выражение на языке JSONata_, которое будет применяться к каждому прочитанному из источника значению тега. Если отсутствует, значение будет браться как есть. **Ответ:** * **id** (uuid) - id созданного коннектора. * **detail** (str) - пояснения к ошибке. .. note:: Полученный в результате выполнения запроса идентификатор коннектора необходимо использовать в конфигурационном файле данного коннектора.