...

Как подключиться к файловому хранилищу ELMA365 через сторонний клиент?

Тема в разделе "Администрирование On-Premises", создана пользователем mokrushina, 15 фев 2023.

  1. mokrushina

    mokrushina Участник

    Кто-нибудь подключался к файловому хранилищу ELMA365 через сторонний клиент? Как это сделать?
  2. b.melnik

    b.melnik Техническая поддержка

    Подключиться к внутренним базам данных и хранилищам системы ELMA365 возможно. Обращаю Ваше внимание, что изменение структур или данных внутри БД ELMA365 может привести к частичной или полной утрате работоспособности системы ELMA365. Техническая поддержка не рассматривает случаи утраты работоспособности, вызванные такими вмешательствами. Рекомендуем использовать подключения только для просмотра данных и обязательно иметь резервные копии данных при таких подключениях.

    Организация подключения к хранилищу файлов в случае поставки в microk8s (с внутренним minio) выполняется по следующему алгоритму:
    1. Необходимо создать yaml для размещения в кластере через текстовый редактор. Пример содержания файла для поставки приведен далее:
    apiVersion: v1
    kind: Service
    metadata:
    name: minio-external
    namespace: default
    spec:
    type: NodePort
    ports:
    - port: 9000
    nodePort: 30434
    selector:
    app: minio

    Обратите внимание, что каждый отступ и пробел должен находиться на своём месте. Файл можно сохранить с именем minio-external.yaml.

    2. Разместить ресурс в кластере из созданного yaml командой:
    sudo microk8s kubectl apply -f minio-external.yaml

    3. Необходимо получить access key и secret key для подключения командой:
    microk8s kubectl edit secret minio

    В результате ответа будут необходимые данные:
    [​IMG]

    В секретах данные хранятся в base64, поэтому их необходимо декодировать в нужный нам вид, например через https://www.base64decode.org/
    В итоге до декодирования будет пара:
    accesskey: UFpTRjczSkc3MktzZDk1NUpLVTFISUE=
    secretkey: YUZEa2oyOEpiczJKS2JudkpINjc4TU53aXo4OHpLanN1TkJISHM=

    После декодирования (то что необходимо будет использовать для авторизации):
    accesskey: PZSF73JG72Ksd955JKU1HIA
    secretkey: aFDkj28Jbs2JKbnvJH678MNwiz88zKjsuNBHHs

    Обратите внимание, что для Вашей системы ключи будут иными.

    4. Разрешить использование встроенного веб-обозревателя minio

    Необходимо включить встроенный браузер для работы с minio в настройках дейплоймента командой:
    microk8s kubectl edit deployment minio

    Найти строчку с:
    name: MINIO_BROWSER
    value: "off"

    и изменить на:
    value: "on"
    [​IMG]

    После этого сделать передейплоймент командой:
    microk8s kubectl rollout restart deploy/minio

    Для подключения к S3 можно использовать обычный браузер:
    1. Переходим по адресу системы по порту который мы сделали для Node port minio-external, например 192.168.31.108:30434
    [​IMG]
    1. Авторизоваться через ранее декодированные access key и secret key

    accesskey: PZSF73JG72Ksd955JKU1HIA
    secretkey: aFDkj28Jbs2JKbnvJH678MNwiz88zKjsuNBHHs

    Если всё сделано верно, то Вы увидите веб-форму работы с Minio S3 хранилищем
    [​IMG]
    Обращаю внимание, что хранилище S3 неразрывно связано с другой базой данных системы ELMA365 – postgre. ID файлов системы в веб-части ссылаются на данные в postgre, в которых связаны ID файлов в веб-части и ID объектов в S3 minio.