Show/Hide Toolbars

Руководство администратора

Провайдеры файлов

Ссылки Назад Вверх Вперед

Файлы, которые загружаются в систему "Первая Форма" и вкладываются в различные задачи, могут храниться в разных таблицах и базах данных. Варианты настроек таких хранилищ получили название провайдеров загружаемых файлов.

Провайдер может иметь один из следующих типов:

PostgreSQL;

MS SQL;

MSSQL без полнотекстового поиска;

Sharepoint (Устаревшее, не используется);

файл провайдер для filestream с полнотекстовым поиском;

MSSQL с текстовым содержимым;

S3.

Для хранения новых файлов используется провайдер, выбранный в поле Вкладывать новые файлы через провайдер.

file-providers-0

Список провайдеров загружаемых файлов

warning_icon Для провайдера с типом MS SQL надо создать таблицу с полем для идентификатора (тип int, identity), полем для содержимого файла (тип varbinary(max)) и опциональным (необязательным) полем для расширения (тип varchar).

Если провайдер загружаемых файлов используется в качестве файлового провайдера в настройках категории или файлового провайдера для ДП Файл, то он недоступен для удаления. При попытке удалить провайдер появится модальное окно с сообщением: "Ошибка. Невозможно удалить провайдер, так как он используется. Для удаления провайдера, необходимо убрать связь в Категориях: Имя категории (ID категории)".

Рекомендации для файловых баз данных

Необходимо регулярно делать новые БД для вложенных файлов, каждая БД при этом должна быть не более 100-200Гб.

Упрощает вопрос резервного копирования баз и работу системного задания "СheckDefaultFileDatabaseJob" оптимизация БД основного файлового провайдера (dbcc checkdb).

Файловые базы данных могут размещаться на отдельных SQL серверах и не требуют быстрых дисков.

Добавление нового провайдера загружаемых файлов

Для добавления нового провайдера нажмите кнопку Создать под списком.

file-providers-2

Форма добавления провайдера

Физически новая файловая БД создается с помощью скрипта CreateTaskFilesDB.

warning_icon Обратите внимание: в PostgreSQL тип данных bytea, используемый для хранения двоичных файлов, физически не поддерживает объекты размером более 1 ГБ. Это внутреннее ограничение самого типа данных в PostgreSQL

warning_icon Провайдеры для архивных файлов не участвуют в поиске по вложениям

warning_icon Сжатие данных в загружаемых файлах работает, только если это поддерживается выбранным провайдером

Режим сжатия данных

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

Преимущества: Файлы занимают меньше места.

Недостатки: Поиск по содержимому текстовых файлов не работает, а изображения не выводятся в отчетах FastReport.

Сжатие возможно использовать без потери поиска по содержимому. Для обеспечения корректного поиска по тексту из файлов (pdf, doc, docx, xsl, xslx, ppt, pptx, txt, xml, html) используйте задние по таймеру TikaJob. Для работы джоба необходимо предварительно добавить сервис Tika и выбрать его в общих настройках приложения (пункт "Tika Service").

Обязательным условием для работы данного задания по таймеру является наличие пользовательского ключа FileIdToStartOcr, в котором необходимо указать минимальный ID файла (из таблицы в БД "FileStorageFiles"), с которого начинается обработка файлов.

Ночью с 23:00 до 07:00 задание работает без ограничения по ID для обработки всех файлов.

Настройка провайдера

Чтобы изменить информацию о провайдере, нажмите на него в списке провайдеров. Внесите необходимые изменения в открывшемся окне, а затем нажмите кнопку Сохранить.

file-providers-3

Окно редактирования настроек провайдера загружаемых файлов

Название

Описание

Имя

Название провайдера

Сжимать данные

Данные будут сжаты, если провайдер поддерживает сжатие

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

Строка подключения

Если строка подключения пустая, то будет использоваться строка подключения TCConnectionString из файла web.config

Параметры:

Data Source — Адрес сервера базы данных

Initial Catalog — Имя базы данных для подключения

Persist Security Info — Сохранение информации о безопасности после подключения

User ID — Имя пользователя для аутентификации

Password — Пароль для аутентификации. Не отображается в явном виде

packet size — Размер сетевого пакета в байтах для оптимизации передачи данных

Max Pool Size — Максимальное количество подключений в пуле соединений

Min Pool Size — Минимальное количество поддерживаемых подключений в пуле

Connect Timeout — Время ожидания установки подключения в секундах

MultipleActiveResultSets — Возможность выполнения нескольких команд в одном подключении. По умолчанию отключено

Encrypt — Включение шифрования соединения с сервером

Имя таблицы

Название таблицы, в которой хранятся файлы

Имя колонки для содержимого файла

Название колонки, в которой хранится содержимое файлов

Имя колонки для идентификатора файла

Название колонки, в которой хранятся идентификаторы файлов

Имя колонки для расширения файла

Название колонки, в которой хранятся расширения файлов

Имя БД

Имя базы данных

Логин

Логин подключения

Пароль

Пароль для подключения. Скрыт на форме

Сервер

Сервер

Порт

Порт

При выборе типа провайдера S3 форма настроек автоматически обновляется, отображая следующие параметры:

s3-file-provider

Настройки провайдера S3

Название

Описание

URL сервиса S3

Адрес конечной точки (endpoint) S3-совместимого хранилища

Внешний URL сервиса S3

Публичный URL для доступа к файлам (если отличается от основного endpoint)

Бакет S3

Название корзины (bucket), в которой будут храниться файлы

Ключ доступа S3

Идентификатор для аутентификации в S3-хранилище (Access Key ID)

Секретный ключ S3

Секретный ключ для авторизации (Secret Access Key)

Регион S3

Географический регион, в котором расположен бакет

Шаблон имени файла S3

Шаблон для генерации имен загружаемых файлов в бакете. Доступные переменные: {providerid}, {filename}, {uid}.

Пример: "default-dir/{uid}-{filename}"

Использовать пути вместо хоста

Определяет формат URL при обращении к файлам в бакете.

Если опция включена, используется path-style доступа к бакетам, в таком случае URL файлов будет формироваться в формате: {endpoint}/{название бакета}/{путь к объекту).

Если опция отключена (временно не поддерживается), используется virtual-hosted style адресации, при котором название бакета включается в адрес хоста.

По умолчанию опция включена

Доп. настройки S3 (JSON)

Дополнительные параметры в формате JSON

Для сохранения внесенных изменений нажмите кнопку Сохранить.

По нажатию кнопки Проверить соединение и сохранить выполняется проверка правильности заданных параметров для подключения к выбранной БД (выполняется select-запрос).

По нажатию кнопки Сжать данные в файл провайдере выполняется однократное массовое сжатие хранимых данных (для перехода к работе в режиме сжатия данных). В дальнейшем файлы будут сжиматься при вложении.

Переключение на нового провайдера

После создания файловой БД и добавления провайдера в список провайдеров в "Первой Форме" выберите нового провайдера в настройке Вкладывать новые файлы через провайдер и подтвердите выбор, нажав кнопку Сохранить. После этого все новые файлы будут записываться в новую БД.