Название

Название

(англ)

ОбязательноеОписание

Описание

(англ)

Тип данныхПримерПримечание
ДействиеЗагрузить файлUpload fileДаДействие читает файл на локальной файловой системе агента, из-под которого запускается действие, и сохраняет его в файловом хранилищеThe action reads a file on the local file system of the agent under which the action is launched and saves it to the file storage

Перед загрузкой файла в хранилище действие должно подключиться к файловому хранилищу с параметрами, указанными в настройках доступа
Входные параметрыТип хранилищаStorage typeДа

Выбор из списка:

  • minio
  • s3
  • ftp

Choice from the list:

  • minio
  • s3
  • ftp
Robin.StringminioСразу закладываемся на разные типы хранилищ, чтобы 2 раза не вставать
Настройки доступаAccess settingsДаИмя конфигурационного файла, в котором хранятся настройки доступа к файловому хранилищу
Robin.FilePath

Конфигурационный файл - agent.ini

Настройки в подразделах:
[file_storage]
[minio]

Endpoint= https://our-minio-proxy:9091
AccessKey=username

SecretKey=password
BucketName=digital-employee
StorageFolderPath=user-task-files
[ftp]
Endpoint= ftp://our-ftp-proxy
Username=user
Password=password
[s3]
....

Это может быть конфигурационный файл агента или иной ini-файл. Настройки хранятся в в подразделе с именем, указанным в параметре "Тип хранилища" раздела [file_storage]

В будущем перенесем эти настройки в хранилище ресурсов. Ждем когда его сделают разработчики

Настройки доступа переносим в прокси-сервис. Так более правильно с т.з. безопасности. Поэтому доступ к файлу для действия будет выглядеть как анонимный

Спека на прокси-сервис будет оформлена отдельно


Точка доступа к прокси-сервисуEndpointДаТочка доступа к прокси-сервису, откуда будет скачиваться файлEndpoint to the proxy service from where the file will be downloadedRobin.String

https://our-minio-proxy:9091

Этот параметр ЦС-сервис (уточнить какой именно и какой метод) берет из глобальных настроек и передает в робот как параметр. Далее робот подставляет этот параметр при вызове действия.

БакетBucketДаИменованное подпространство (область) файлового хранилищаNamed subspace (area) of file storageRobin.Stringuser-task-filesЭтот параметр ЦС-сервис (уточнить какой именно и какой метод) берет из глобальных настроек и передает в робот как параметр. Далее робот подставляет этот параметр при вызове действия.
Путь к файлуFile pathДаПуть к файлу на локальной файловой системе агентаPath to a file on the agent's local file systemRobin.FilePathC:\Users\<User>\Application Data\Robin Platform\2.0.0\Runs\Host\User\<task_execution_id_id>\out\f21fb63e2fed4b51aa6cec7af7216aaf_ne_ya.jpeg 

Действие должно выделить имя файла, под которым он хранится на локальной файловой системе

Формирование URLа для сохранения файла

Тогда URL для загрузки файла через прокси сервис формируется как конкатенация следующих строковых параметров: <Endpoint>/<Bucket>/<YYYY>/<MM>/<DD>/<local_file_name>

где:

  • <Endpoint> - точка доступ (входной параметр)
  • <Bucket> - бакет (входной параметр)
  • <YYYY> - год формирует само действие
  • <MM> - месяц формирует само действие
  • <DD> - день формирует само действие
  • <local_file_name> - имя файла, под которым он хранится на локальной файловой системе без имени папки в которой он хранится, формирует само действие

Должен использоваться метод POST

РезультатПуть к файлу в хранилищеPath to the file in the file storageДаПолное имя файла, под которым он был сохранен в хранилищеThe full name of the file under which it was saved in the file storageRobin.String

/user-task-files/2023/07/17/f21fb63e2fed4b51aa6cec7af7216aaf_ne_ya.jpeg

Путь, под которым файл был сохранен на файловую систему файлового хранилища:

/<Bucket>/<YYYY>/<MM>/<DD>/<local_file_name>