Подключение своего типа хранилищ контента

Для подключения к Системе хранилища контента типа, который не предусмотрен сервисом «Управление файлами», необходимо первыми шагами подключить плагин к сервису «Управление файлами». Для этого необходимо выполнить следующие действия на примере подключения коннектора postgres:

  1. В сервисе «Управление конфигурациями» создать 2 конфигурации для сервиса «Управление файлами» (dh-files-service), отвечающие за режим разработки и путь до собранного артефакта плагина.

Для первой конфигурации в поле Ключ указать значение «docshouse.files.plugins.enabled», в поле Значение указать значение «true».

Для второй конфигурации в поле Ключ указать значение «docshouse.files.plugins.folder», в поле Значение указать путь до директории, где хранится JAR-файл, например, «/u01/dochouse/files/plugins/». Данный путь будет использовать Система для поиска JAR-файла и применять его в режиме плагина.

2. Найти идентификатор пода сервиса «dh-files-service» командой:

На примере Minikube здесь и далее.

kubectl get pods | grep files

3. Перенести в сервис «dh-files-service» JAR-файл командой:

kubectl cp наименование-JAR.jar наименование-пода-сервиса:/путь-до-директории-с-JAR/

Путь до директории с JAR-файлом должен соответствовать указанному значению для конфигурации «docshouse.files.plugins.folder». Пример такой команды: «kubectl cp dh-content-connector-postgresql.jar dh-files-service-6c9f7b99bd-22vmc:/u01/dochouse/files/plugins/».

4. Проверить наличие файла в поде сервиса командами:

kubectl exec –it наименование-пода-сервиса bash

ls -ls /путь-до-директории-с-JAR/

Пример такой команды с учетом конфигурации: «ls -ls /u01/dochouse/files/plugins/».

В результат должен попасть JAR-файл.

img

5. Перезагрузить под сервиса командой:

kubectl delete pods наименование-пода-сервиса

В процессе перезагрузки считываются и применяются настройки из сервиса «Управление конфигурациями».

Для тестирования хранилища необходимо выполнить следующие действия:

  1. В Postman выполнить запрос, сканирующий наличие плагина по указанному пути в сервисе «Управление файлами».

Для этого нужно отправить запрос «GET {hostname}/dh-files-service/api/v1/plugins/scan» и в случае успеха получить в ответ тип хранилища коннектора из JAR-файла.

2. В Postman отправить запрос на создание хранилища «POST {hostname}/dh-files-service/api/v1/storages».

Пример тела запроса на создание хранилища:

{

 "code": "postgres",

 "name": "postgres_storage",

 "description": "postgres_storage",

 "type": "postgres",

 "closeDate": "2025-03-20T10:28:11.811Z",

 "maxElementsSize":10000,

 "maxElementsLimit":1000,

 "freeThreshold":10,

 "freeWarning":10",

 "host": "192.168.49.1",

 "port": "5432",

 "dataBase": "postgres",

 "user": "admin",

 "password": "123456",

 "schema": "public"

}

Параметры запроса должны соответствовать параметрам, описанным в конфигурации кастомного коннектора хранилища.

Если в ответе получено «201 Created», хранилище появится в разделе Хранилища сервиса «Управление файлами».

img

3. Для сохранения контента в новый тип хранилища создать и с помощью функции выбора хранилища привязать политику размещения в интерфейсе Системы или с помощью запроса в Postman.

4. Загрузить новый файл и выбрать для него ту политику размещения, которая привязана к хранилищу.

5. Убедиться, что файл успешно загружен в нужное хранилище в интерфейсе Системы или через БД в таблице, указанной в конфигурации коннектора хранилища.

Пример конфигураций коннектора хранилища на рисунке ниже.

img