Skip to Content

Интеграция с S3-хранилищем

Для хранения файлов скринов, передаваемых роботами вместе с логами (RobotLogs), и архивов дистрибутивов роботов и агентов (WebApi) имеется возможность сконфигурировать службы RobotLogs и WebApi для использования S3-хранилища (Minio).

В службе RobotLogs в секцию ScreenFileUpload требуется добавить параметры:

alt

В службе WebApi требуется добавить секцию FileStore:

alt

Описание параметров подключения к S3 в ScreenFileUpload/FileStore

№п/пНаименование параметраНазначениеПримечание
1.StoreType/Type0 – файловое хранилище,1 – S3 (minio)
2.Minio.EndpointАдрес конечной точки minio
3.Minio.AccessKeyПараметры доступа. Настраиваются администратором minio (см. рисунок ниже)
4.Minio.SecretKeyДолжен быть зашифрован утилитой шифрования
5.Minio.SSLУстанавливается в true, если minio настроен на использование https
6.Minio.FolderПуть к директории внутри бакетаНеобязательный параметр. По умолчанию: ”/” (корневая директория)

Параметры подключения к minio:

alt

Настройка общего бакета для нескольких служб

Начиная с версии Оркестратора 1.25.9, службы WebApi и NuGet поддерживают использование выделенных директорий внутри общего бакета Minio. Это позволяет централизованно управлять хранилищем и упростить его администрирование.

Конфигурация для WebApi

В службе WebApi в секции FileStore добавлен параметр Folder для указания целевой директории в бакете:

"FileStore": { "Type": 1, "Minio": { "Endpoint": "localhost:9000", "AccessKey": "your-access-key", "SecretKey": "encrypted-secret-key", "SSL": false, "Bucket": "common-bucket", "Folder": "webapi" // <- Новый параметр с версии 1.25.9 } }

Конфигурация для NuGet

В службе NuGet добавлена аналогичная секция для работы с общим бакетом:

"Storage": { "Type": "Minio" // Minio, FileSystem }, "Minio": { "Endpoint": "localhost:9000", "AccessKey": "d8J5XJvQHM5iGteIlCPv", "SecretKey": "0WbI3qwqpBGFMVCvszoq0a2KGzAz8kJJWXQEUkOu", "Bucket": "nuget", "Folder": "/", "SSL": false }, "FileSystem": { "Path": "" }

Выбор типа хранилища:

В секции Storage нужно выбрать значение Type: либо Minio, либо FileSystem.

Если выбран FileSystem:

  • В секции FileSystem нужно указать путь хранения в файловой системе
  • Секция Minio при этом игнорируется
"Storage": { "Type": "FileSystem" }, "FileSystem": { "Path": "C:\\some\\path" }

Если выбран Minio:

  • В секции Minio нужно присвоить соответствующие значения параметрам
  • Секция FileSystem будет проигнорирована
"Storage": { "Type": "Minio" }, "Minio": { "Endpoint": "localhost:9000", "AccessKey": "d8J5XJvQHM5iGteIlCPv", "SecretKey": "0WbI3qwqpBGFMVCvszoq0a2KGzAz8kJJWXQEUkOu", "Bucket": "common-bucket", "Folder": "nuget", "SSL": false }

Примечание по параметрам Bucket и Folder:

В NuGet параметры Bucket и Folder опциональны, т.к. для них предусмотрены значения по умолчанию:

  • "Bucket": "nuget" - для хранения используется индивидуальный бакет
  • "Folder": "" - данные будут записываться в корневой каталог бакета*

Пустая строка "" и слэш "/" работают одинаково - оба варианта означают корневую директорию бакета

Для использования общего бакета с Оркестратором нужно явно указать оба свойства:

"Bucket": "common-bucket", "Folder": "nuget"