From d66b285dbee11f71456776bf25051216ea032341 Mon Sep 17 00:00:00 2001 From: Georgii Zhulikov Date: Wed, 12 Mar 2025 12:59:28 +0300 Subject: [PATCH] Add files API to databox, add common component elements --- README.md | 2 +- pages/databox.md | 30 ++++++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ccc9fe0..fb81a7c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ - Размещение приложения на основе шаблона - Подробно - [API модулей](./pages/api-module.md) - - [Компонент DataBox](./pages/databox.md) + - [Компонент DataBox и работа с файлами](./pages/databox.md) - [Компонент MLComponent](./pages/mlcmp.md) - [Компонент ExperimentPipeline](./pages/pipeline.md) - [Терминология](./pages/terminology.md) diff --git a/pages/databox.md b/pages/databox.md index bd44ea2..6c204ec 100644 --- a/pages/databox.md +++ b/pages/databox.md @@ -87,20 +87,26 @@ users/developer/file_groups/my_file_group_file.txt mountS3Box: subPath: users/developer/file_groups/models_pretrained s3BoxName: model-box - - name: user-box - copyS3Box: - s3BoxName: userdata ``` -Здесь подключаются два компонента DataBox: +Здесь подключается компонент DataBox с именем `model-box`: -1. Монтируется DataBox `model-box` - - Путь `users/developer/file_groups/models_pretrained` в DataBox (в хранилище S3) - - Путь `/home/myproject/data/weights/` в локальной файловой системе контейнера - - Название компонента DataBox контролируется полем `s3BoxName` - - Название смонтированного компонента для упоминания внутри манифеста контролируется полем `name`. В этом примере эти два названия совпадают -2. DataBox `userdata` подключается в режиме копирования - - Название компонента DataBox контролируется полем `s3BoxName` - - Название смонтированного компонента для упоминания внутри манифеста контролируется полем `name`. Если в этом манифесте нужно будет упомянуть этот DataBox, нужно будет использовать имя `user-box`, не `userdata`. +- Путь `users/developer/file_groups/models_pretrained` в DataBox (в хранилище S3) +- Путь `/home/myproject/data/weights/` в локальной файловой системе контейнера +- Название компонента DataBox контролируется полем `s3BoxName` +- Название смонтированного компонента для упоминания внутри манифеста контролируется полем `name`. В этом примере эти два названия совпадают. +### Файловый API +Доступ к файлам через API производится по ссылкам со следующей структурой + +``` +https://platform.stratpro.hse.ru/my-app/model-box/my_file_group/file.txt +``` + +Здесь: + +- `my-app` - имя приложения +- `model-box` - имя DataBox, в который загружаются данные или из которого скачиваются данные +- `my_file_group/file.txt` путь к файлу, соответствующий пути после `file_groups` в хранилище +- Имя пользователя в участке пути `users/USERNAME/file_groups` определяется, исходя из того, реквизиты какого пользователя используются при выполнении запроса.