Хранилища

Раздел "Хранилища" предназначен для встраивания внешних хранилищ любого типа в систему и пользоваться ими. В этом разделе можно настраивать соединения с хранилищами, но на текущий момент времени доступно только хранилище S3.

Такое встраивание доступно посредством определения интерфейса LargeObjectStorageProvider, который имеют поставщики услуг хранения больших объектов. Такие провайдеры определяют набор свойств, который необходим для работы, и позволяют заполнять этот набор в модели нового типа - LargeObjectStorageModel.

Экземпляры конфигураций определенного провайдера - это контейнеры конфигурации, которые создаются в разделе "Хранилища".

Набор свойств, необходимый провайдеру для работы, передается ему при каждом вызове любого типа из контейнера конфигурации (сохранение, удаление, проверка существования и т.п.). Для одного провайдера могут существовать несколько контейнеров конфигураций с разными значениями (например, для S3 несколько бакетов и эндпоинтов, для PostgreSQL могут быть несколько разных баз данных и т.д.).

Хранилище по умолчанию. В системе существует стандартный способ хранения данных - системное хранилище больших данных с идентификатором system-large-object-storage, недоступное для редактирования или удаления, как и его контейнер конфигурации.

Для хранилища по умолчанию предусмотрена операция миграции больших объектов из старых таблиц в новые для системного контейнера - largeObjectMigrateJob. Операция запускается один раз, и в случае успеха старые таблицы character_data и binary_data должны оказаться пустыми и могут быть удалены вручную. После чего операция повторно не запускается.

Обзор раздела

В левой части раздела располагается список существующих контейнеров, а также кнопки управления разделом, находящиеся внизу списка контейнеров (Рисунок 1 - 1):

  • Кнопка image1 "Создать контейнер" позволяет добавить новый контейнер и настроить его параметры.

  • Кнопка image2 "Импорт/Экспорт модели хранилищ" позволяет загружать/выгружать существующие модели.

  • Кнопка image3 "Обновление модели хранилищ" позволяет обновлять список существующих контейнеров после того, как будет сгенерирован запрос к backend на обновление хранилищ.

  • Поиск хранилищ осуществляется в поисковой строке по параметрам контейнеров: Имя, Отображаемое имя, Провайдер.

В правой части раздела осуществляется настройка параметров выбранного или нового добавленного контейнера (Рисунок 1 - 2).

Доступ к разделу и его настройкам регулируется правом доступа "Администрирование моделей".

Создание контейнера

  1. Убедитесь, что открыт раздел "Хранилища".

  2. Нажмите кнопку image1 Создать контейнер, расположенную внизу списка контейнеров.

  3. Заполните основные параметры:

    • Имя - системное имя контейнера. Имя должно начинаться с буквы и содержать только латинские буквы, цифры, символы "-", "_". Не может содержать пробелы. Недоступно для редактирования после сохранения.

    • Отображаемое имя - имя контейнера, которое будет отображаться пользователям.

    • Описание - любая дополнительная информация.

    • Провайдер хранилища - список доступных провайдеров.

  4. Заполните параметры хранилища (ниже пример параметров S3 хранилища). Параметры отображаются в соответствии с мета-данными провайдера - у разных провайдеров могут быть разные параметры.

    • Идентификатор ключа - уникальный id ключа.

    • Ключ доступа - пароль для доступа в контейнер.

    • Использовать path-style - флаг, позволяющий включить/отключить использование UPath.

    • Конечная точка - конечный url.

    • S3 Регион - зоны доступности, по умолчанию us-east-1.

    • Корзина - контейнер (бакет), необходимый для организации хранения в хранилище.

  5. Нажмите "Сохранить" после заполнения всех параметров. После сохранения контейнера станет недоступно изменение провайдера.

Чтобы удалить контейнер:

  1. Выберите необходимый контейнер из списка существующих.

  2. Нажмите кнопку image4 Удалить, расположенную в правом верхнем углу, и подтвердите действие.

Пример отображения раздела "Хранилища": 1 - список контейнеров и кнопки управления; 2 - параметры хранилищ

Рисунок 1 – Пример отображения раздела "Хранилища": 1 - список контейнеров и кнопки управления; 2 - параметры хранилищ

Импорт / Экспорт модели хранилищ

Чтобы импортировать или экспортировать модель хранилищ, нажмите кнопку image2 "Импорт/экспорт", расположенную в нижней части списка контейнеров.

Шаг 1. Выберите требуемое действие. Экспорт выполняется в 2 шага. Импорт в 3 шага.

Шаг 1 мастера Импорта/Экспорта

Шаг 2. Экспорт. Для экспорта не предусмотрены дополнительные настройки. Подтвердите действие, после чего начнется экспорт, результаты которого можно скачать в Уведомлениях.

Шаг 2, Экспорт

Шаг 2. Импорт. Выберите файл модели хранилищ (формат .xml). Для продолжения нажмите "Следующий шаг".

Шаг 2, Импорт

Шаг 3. Импорт. Подтвердите действие. Сообщение о результатах импорта отобразится в Уведомлениях. Обратите внимание, что контейнеры с одинаковыми именами будут перезаписаны.

Шаг 3, Импорт