История страницы
Название |
---|
Название
(англ)
Обязательное |
---|
Описание |
---|
(англ)
Тип данных | Пример | Примечание |
---|---|---|
Действие | Загрузить файл |
Да | Действие читает файл на локальной файловой системе агента, из-под которого запускается действие, и сохраняет его в файловом хранилище |
Перед загрузкой файла |
действие должно подключиться к файловому хранилищу |
Выбор из списка:
minios3ftp
Choice from the list:
minios3ftp
Конфигурационный файл - agent.ini
Настройки в подразделах:
[file_storage]
[minio]Endpoint= https://our-minio-proxy:9091
AccessKey=usernameSecretKey=passwordBucketName=digital-employee
StorageFolderPath=user-task-files
[ftp]
Endpoint= ftp://our-ftp-proxy
Username=user
Password=password
[s3]
....
Это может быть конфигурационный файл агента или иной ini-файл. Настройки хранятся в в подразделе с именем, указанным в параметре "Тип хранилища" раздела [file_storage]
В будущем перенесем эти настройки в хранилище ресурсов. Ждем когда его сделают разработчики
Настройки доступа переносим в прокси-сервис. Так более правильно с т.з. безопасности. Поэтому доступ к файлу для действия будет выглядеть как анонимный
Спека на прокси-сервис будет оформлена отдельно
Этот параметр ЦС-сервис (уточнить какой именно и какой метод) берет из глобальных настроек и передает в робот как параметр. Далее робот подставляет этот параметр при вызове действия.
, используя конечную точку и токен доступа, полученные им от агента, который в свою очередь получает их от сервиса настроек | |||||
Входные параметры | Путь к файлу (или файлам | Да | Массив, в котором каждый элемент содержит путь к файлу на локальной файловой системе агента, под которым он был сохранен | Robin.FilePath | [ |
C:\Users\<User>\Application Data\Robin Platform\2.0.0\Runs\Host\User\<task_execution_id_id> |
\in\CC28BA9D-346B-4743-99FE-2AE5938030F6\File.txt, C:\Users\<User>\Application Data\Robin Platform\2.0.0\Runs\Host\User\<task_execution_id_id>\in\CC28BA9D-346B-4743-99FE-2AE5938030F6\File2.txt, ] | Действие должно выделить имена файлов, под которыми они хранятся на локальной файловой системе и передать массив имен файлов сервису, который будет работать с MinIO |
*) Уточнить папку для файлов
Действие должно выделить имя файла, под которым он хранится на локальной файловой системе
Формирование URLа для сохранения файла
Тогда URL для загрузки файла через прокси сервис формируется как конкатенация следующих строковых параметров: <Endpoint>/<Bucket>/<YYYY>/<MM>/<DD>/<local_file_name>
где:
Должен использоваться метод POST | |
Результат | Путь к файлу (или файлам) в хранилище |
Да |
/user-task-files/2023/07/17/f21fb63e2fed4b51aa6cec7af7216aaf_ne_ya.jpeg
JSON-объект, представляющий собой массив, в котором каждый элемент содержит набор метаинформации о файле (id, имя, тип контента и расположение файла). | Robin.RemoteFile | [ | Путь, под которым каждый |
файл был сохранен на файловую систему файлового хранилища |
формирует сам сервис, который работает с MinIO |