Цепочки обработки

Цепочки обработки так же, как и обработчики, могут быть использованы для обработки данных, полученных от устройства. При помощи API с ними могут быть воспроизведены такие операции, как:

  1. Получение списка цепочек обработки.
  2. Получение информации об одной цепочке обработки.
  3. Создание нового контейнера для цепочки обработки.
  4. Изменение контейнера для цепочки обработки.
  5. Удаление контейнера для цепочки обработки.
  6. Запуск цепочки обработки в контейнере.
  7. Остановка выполнения обработки данных в контейнере.

Получение списка цепочек обработки

Для того чтобы получить полный список цепочек, созданных пользователем и доступных ему, необходимо отправить запрос GET /api/v1/objects/chains. В ответе будет получен массив объектов, каждый из которых представляет собой конфигурацию отдельного обработчика.

Запрос

GET /api/v1/objects/chains HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

Ответ

HTTP/1.1 200 OK

[
    {
        "_id": "5d8cd6dac82fdf001127edfa",
        "name": "Цепочка 01",
        "handlers": [],
        "bindings": {}
    },
    {
        "_id": "5d8cd6e4c82fdf001127ee14",
        "name": "Цепочка 02",
        "handlers": [],
        "bindings": {}
    }
]

Получение информации об одной цепочке обработки

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

Запрос

GET /api/v1/objects/:id/chains HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

Ответ

HTTP/1.1 200 OK

{
    "_id": "5d8cd6e4c82fdf001127ee14",
    "name": "Цепочка 02",
    "handlers": [],
    "bindings": {},
    "success": "true"
}

Создание нового контейнера для цепочки обработки

Запуск цепочек обработки производится в контейнерах. Каждый контейнер представляет собой некое окружение, внутри которого реализуется интерпретация обработки данных. Соответственно, для создания нового контейнера необходимо отправить запрос POST /api/v1/objects/:id/chains/container.

Запрос

POST /api/v1/objects/:id/chains/container HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

BODY ?

Ответ

HTTP/1.1 200 OK

BODY

Изменение контейнера для цепочки обработки

Для изменения значений полей контейнера необходимо послать запрос PATCH /api/v1/objects/:id/chains/container.

Запрос

PATCH /api/v1/objects/:id/chains/container HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

BODY

Ответ

HTTP/1.1 200 OK

BODY

Удаление контейнера для цепочки обработки

Как и для любой сущности, удаление контейнера осуществляется через метод DELETE.

Запрос

DELETE /api/v1/objects/:id/chains/container HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

BODY

Ответ

HTTP/1.1 200 OK

BODY

Запуск цепочки обработки в контейнере

Для того чтобы начать процесс обработки и запустить цепочку в контейнере, нужно отправить запрос POST /api/v1/objects/:id/processing/start.

Запрос

POST /api/v1/objects/:id/processing/start HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

BODY

Ответ

HTTP/1.1 200 OK

BODY

Остановка выполнения обработки данных в контейнере

Для остановки процесса обработки используется запрос POST /api/v1/objects/:id/processing/stop.

Запрос

POST /api/v1/objects/:id/processing/stop HTTP/1.1
Content-Type: application/json
Authorization: Bearer {token}

BODY

Ответ

HTTP/1.1 200 OK

BODY