Регистрация коннектора в платформе

Для того, чтобы платформа могла работать с коннектором, он должен быть в ней зарегистрирован.

Регистрация коннектора в платформе выполняется POST-запросом https://<server_name>/v1/connectors:

http

POST /v1/connectors/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json

{
    "attributes": {
        "cn": "connector1",
        "prsJsonConfigString": {
            "source": {},
            "log": {
                "level": "INFO",
                "fileName": "logs/prs_connector.log",
                "maxBytes": 10485760,
                "backupCount": 10
            }
        },
        "description": "description",
        "prsEntityTypeCode": null,
        "prsActive": true
        "prsIndex": null
    },
    "linkTags": [
        {
            "tagId":"<tag_id>",
            "attributes": {
                "prsJsonConfigString": {
                    "source": {},
                    "maxDev": 0.5,
                    "JSONata": "<some jsonata expression>"
                }
            }
        }
    ]
}

response

POST /v1/connectors/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json

{
    "attributes": {
        "cn": "connector1",
        "prsJsonConfigString": {
            "source": {},
            "log": {
                "level": "INFO",
                "fileName": "logs/prs_connector.log",
                "maxBytes": 10485760,
                "backupCount": 10
            }
        },
        "description": "description",
        "prsEntityTypeCode": null,
        "prsActive": true
        "prsIndex": null
    },
    "linkTags": [
        {
            "tagId":"<tag_id>",
            "attributes": {
                "prsJsonConfigString": {
                    "source": {},
                    "maxDev": 0.5,
                    "JSONata": "<some jsonata expression>"
                }
            }
        }
    ]
}

Запрос:

  • attributes (dict) - словарь с параметрами для создания коннектора. Обязательный параметр.

    • cn (str) - имя коннектора. Необязательный атрибут. По умолчанию = id вновь созданного коннектора.

    • description (str) - описание коннектора. Необязательный атрибут.

    • prsEntityTypeCode (int) - Необязательный атрибут, может использоваться разработчиками коннекторов по своему усмотрению.

    • prsIndex (int) - Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются в соответствии с их индексами. Необязательный атрибут.

    • prsActive (bool) - Определяет, активен ли коннектор. Необязательный атрибут. По умолчанию = true.

    • prsJsonConfigString (str) - Конфигурация коннектора. Имеет вид:

      {
          "source": {},
          "log": {
              "level": "INFO",
              "fileName": "logs/prs_connector.log",
              "maxBytes": 10485760,
              "backupCount": 10
          }
      }
      

      где:

      • source (json) - информация для коннектора о том, как подключаться к источнику данных;

        Формат этого ключа целиком зависит от конкретной реализации коннектора и должен быть описан в его документации.

      • log (json) - настройки логирования.

  • linkTags (list[json]) - список тегов, для которых коннектор должен поставлять данные. Необязательный атрибут.

    Каждый элемент списка - json, описывающий один привязанный к коннектору тег.

    Элемент имеет вид:

    {
       "tagId": "<tag_id>",
       "attributes": {
           "prsJsonConfigString": {
               "source": {},
               "maxDev": 0.5,
               "JSONata": "<some jsonata expression>"
           }
       }
    }
    

    где:

    • 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) - пояснения к ошибке.

Примечание

Полученный в результате выполнения запроса идентификатор коннектора необходимо использовать в конфигурационном файле данного коннектора.