-
Notifications
You must be signed in to change notification settings - Fork 2
Predict API
Georgy Perevozchikov edited this page Oct 7, 2020
·
5 revisions
Identity API - представляет собой сервис реализующий следующий функционал:
- Регистрацию пользователей в системе
- Аутентификацию пользователей в системе
- Авторизацию пользователей в системе
- Управление пользователями
prefix: /api/vX.Y.Z (X.Y.Z >= 0.1.0)
-
GET
/ping- response
{ "pong": "API version X.Y.Z" }
-
POST
/predict/on_image-
request
- headers:
X-Project-Id
- body:
binary file
- headers:
- response
{ "job": "id" }
-
request
-
POST
/predict/on_s3- request
{ "project": "id", "files": [ "file-uuid-1", "file-uuid-2" ] }
- response
{ "jobs": [ "job-id-1", "job-id-2" ] }
-
GET
/predict/{id}- response
{ "status": "finised", "objects": [ { "xmin": 11, "xmax": 22, "ymin": 33, "ymax": 44, "label": "class1" } ] }
-
GET
/projects?page=0&count=50{ "max_page": 0, "projects": [ "project-uuid-1", "project-uuid-2", .... "projectr-uuni-N" ] }
-
POST
/project- request
{ "users": [ "user-uuid-1", "user-uuid-2" ], "description": "Поиск Калининград 2020" }
- response
{ "id": "3745576a-06f4-11eb-9d06-10e7c6e703cb", "status": "project created" }
-
GET
/project/{id}- response
{ "users": [ "user-uuid-1", "user-uuid-2" ], "description": "Поиск Калининград 2020", "date": "01.01.2020", "filts": [ "3745576a-06f4-11eb-9d06-10e7c6e703cx", "3745576a-06f4-11eb-9d06-10e7c6e703cy", "3745576a-06f4-11eb-9d06-10e7c6e703cz", "3745576a-06f4-11eb-9d06-10e7c6e703ci" ], "tasks": { "active": [ "3745576a-06f4-11eb-9d06-10e7c6e703cx", "3745576a-06f4-11eb-9d06-10e7c6e703cy" ], "finished": [ "3745576a-06f4-11eb-9d06-10e7c6e703ci" ], "failed": [] } }
-
PUT
/project/{id}- request
{ "users": [ "user-uuid-1", "user-uuid-2", "user-uuid-3" ], "description": "Поиск Москва 2020" }
- response
{ "status": "project updated" }
-
DELETE
/project/{id}- response
{ "status": "project removed" }
-
FTP хранилище имеет следующую структуру:
- /root: - read-me.txt - /project-id-1: - file1.jpg - file2.jpg - file3.jpg - /result: - /in-progress: - file4.jpg - file5.jpg - file6.jpg - /finished: - /class1: - file7.jpg - file7.xml - file7.drow.jpg - /class2: - file8.jpg - file8.xml - file8.drow.jpg - /empty: - file9.jpg - /failed: - file10.jpg - file10.error.txt - /description: - description.txt - /project-id-2: ... - /project-in-N:
-
Процесс работы с FTP API:
- Пользователь заходит на FTP под своей учетной записью (совпадает с учетной записью Lacmus web-api).
- Пользователь видит ID доступных ему проектов, выбирает нужный проект.
- Пользователь имеет
write-only
доступ к кроневой папке проекта иread-only
- ко всем подпапкам (description, result) - В процессе работы файлы перемещаются по внутренним папкам в каталоге
result
соответственно их состоянию. При этом из коневого каталога обработанные файлы удаляются (?). - Пользователь переходит в папку
result
и забирает результаты
- приложение может залить файлы напрямую в S3 хранилище в корзину с проектом, получить их ID и запустить процесс обработки используя REST API.
Last update | Обновлено: 06.10.2020
The Lacmus project is distributed under the GNU license. All rights reserved. | Проект Lacmus распостраняется под лицензией GNU. Все права зищищены.
- home
- identity-api
- predict-api