Коннекторы

Модуль содержит примеры запросов и ответов на них, параметров которые могут входить в запрос, в сервисе connectors.

async connectors_api_crud_svc.create(payload: ConnectorCreate, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод добавления коннектора в иерархию.

Запрос:

http

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

{
    "linkTags": [
        {
            "tagId":"99a8bc4a-b2d4-103e-83ba-b9a6d48c0bf6",
            "attributes": {
                "prsJsonConfigString":{},
                "description":"description",
                "cn": "name of a linked tag",
                "prsValueScale": 1,
                "prsMaxDev":1,
                "objectClass":"objectClass"
            }
        }
    ],
    "attributes": {
        "cn": "connector1",
        "prsJsonConfigString": {"param1":"val1"},
        "description": "description",
        "prsActive": true,
        "prsDefault": true,
        "prsIndex":1
    }
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

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

    • prsJsonConfigString (str) - Способ подключения к источнику данных. Обязательный атрибут.

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

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

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

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

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

  • linkTags (list[LinkTag]) - список тегов к которым прикреплен указанный коннектор. Обязательный атрибут.

    • tagId (str) - id прикрепляемого тега. Обязательный атрибут.

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

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

      • prsJsonConfigString (dict) - Параметры подключение к источнику данных. Обязательный атрибут.

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

      • prsValueScale (int) - Коэффициент, на который умножается значение тега коннектором перед отправкой в платформу. Необязательный атрибут.

      • prsMaxDev (int) - Величина значащего отклонения. Необязательный атрибут.

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

Ответ:

  • id (uuid) - id созданного коннектора.

  • detail (str) - пояснения к ошибке.

async connectors_api_crud_svc.delete(payload: ConnectorRead, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод удаления коннектора в иерархии.

Запрос:

http

DELETE /v1/connectors/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "id":"949823fa-cbf5-103e-9301-555c1a8a1358"
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

    null
  • id (str | list[str]) - Идентификатор/ы удаляемого узла.

Ответ:

  • null - в случае успешного запроса.

  • detail (list) - Детали ошибки.

async connectors_api_crud_svc.read(q: str | None = None, payload: ConnectorRead | None = None, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод чтения коннектора из иерархии.

Пример запроса в формате JSON.

http

GET /v1/connectors/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "getLinkedTags":false,
    "id":"b61a2360-cc05-103e-9308-555c1a8a1358",
    "attributes":["cn"],
    "base":"base node",
    "deref": true,
    "scope": 1,
    "filter": {"cn": "connector1"}
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    "data": [
        {
            "id": "b61a2360-cc05-103e-9308-555c1a8a1358",
            "attributes": {
                "cn": [
                    "b61a2360-cc05-103e-9308-555c1a8a1358"
                ]
            },
            "linkedTags": null
        }
    ]
}

Пример query запроса.

http

GET /v1/connectors/?q={"getLinkedTags":false,"id":"connector_id_to_find","attributes":["cn"],"base":"base_node","deref":true,"scope":1,"filter":{"cn":"connector1"}} HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    "data": [
        {
            "id": "b61a2360-cc05-103e-9308-555c1a8a1358",
            "attributes": {
                "cn": [
                    "b61a2360-cc05-103e-9308-555c1a8a1358"
                ]
            },
            "linkedTags": null
        }
    ]
}

Параметры запроса:

  • getLinkedTags (bool) - Флаг возврата присоединённых тегов. Необязательный аттрибут.

  • id (str | list(str)) - идентификатор коннектора в формате uuid, который мы хотим прочитать. В случае отсутствия будут выведены все коннекторы или те, которые соответствуют фильтру. Необязательный аттрибут.

  • attributes (list[str]) - Список атрибутов, значения которых необходимо вернуть в ответе. По умолчанию - [“*“], то есть все атрибуты (кроме системных). Необязательный аттрибут.

  • base (str) - Базовый узел для поиска. Если не указан, то поиск ведётся от главного узла иерархии. Необязательный аттрибут.

  • deref (bool) - Флаг разыменования ссылок. По умолчанию true. Необязательный аттрибут.

  • scope (int) - Масштаб поиска. По умолчанию 1. Необязательный аттрибут.

    0 - получение данных по указанному в ключе base узлу

    1 - поиск среди непосредственных потомков указанного в base узла

    2 - поиск по всему дереву, начиная с указанного в base узла.

  • filter (dict) - Словарь из атрибутов и их значений, из которых формируется фильтр для поиска. Необязательный аттрибут.

Ответ:

  • data (list) - данные прочитанного коннектора/коннекторов. Если ничего не найденно - пустой лист.

  • detail (list) - Детали ошибки.

async connectors_api_crud_svc.update(payload: ConnectorUpdate, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод обновления коннектора из иерархии.

Запрос:

http

PUT /v1/connectors/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "id":"949823fa-cbf5-103e-9301-555c1a8a1358",
    "unlinkTags":["94b1f028-cbf5-103e-9305-555c1a8a1358"],
    "attributes":{
        "prsJsonConfigString":{"way_of_connecting":"new_way"},
        "cn": "new_name",
        "prsActive":false
    }
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    {}
}
  • id (bool) - Идентификатор изменяемого коннектора. Обязательный аттрибут.

  • unlinkTags (list[str]) - Список тегов для отсоединения от коннектора Необязательный аттрибут.

  • attributes (dict) - Атрибуты коннектора

    • prsJsonConfigString (dict) - Способ подключения к источнику данных. Необязательный аттрибут.

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

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

    • prsActive (bool) - Параметр активности коннектора. Необязательный атрибут.

    • prsDefault (bool) - Если = True, то данный коннектор считается узлом по умолчанию в списке равноправных узлов данного уровня иерархии.

    • prsEntityTypeCode (int) - Атрибут используется для определения типа. К примеру, хранилища данных могут быть разных типов.

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

Ответ:

  • {} - Пустой словарь в случае успешного запроса.

  • detail (list) - Детали ошибки.