При активном использовании встроенного чата и обсуждений в 1С:Документооборот 3.0, подключенном к локальному Серверу взаимодействия (1С:Электронный документ / 1С:Диалог), пользователи могут столкнуться с неприятной ситуацией: отправленный вчера во вложении файл на следующий день оказывается зачеркнутым. При попытке нажать на него система выдает предупреждение: «Файл удален из за превышения ограничения по сроку или объему хранения файлов».
Разберем детально, почему возникает такое поведение, как устроена архитектура хранения файлов обсуждений и каким образом можно перенастроить сервер, чтобы предотвратить потерю данных.
Для понимания корня проблемы проанализируем, где и как сохраняются файлы обсуждений. В отличие от файлов карточек документов или бизнес-процессов, вложения чатов Сервера взаимодействия не попадают в стандартные тома хранения файлов конфигурации. Они обслуживаются отдельным контуром:
MinIO).Когда срабатывает регламентная процедура, сервер сверяет параметры политики хранения. Если лимиты превышены, бинарный файл физически удаляется из S3-хранилища, а запись о нем помечается как удаленная. Именно поэтому сразу после отправки файл открывается без ошибок, а на следующий день становится недоступным.
Выясним основные причины, приводящие к срабатыванию механизма очистки:
daysToKeep). При развертывании и регистрации хранилища через административные интерфейсы мог быть задан тестовый или минимальный срок хранения (например, 1 день). В этом случае файл удаляется на следующие сутки.bytesToKeep). Параметр задает квоту дискового пространства в байтах для конкретного абонента. В демонстрационных скриптах и примерах документации нередко указано тестовое значение 104857600 (ровно 100 МБ). При активном обмене файлами этот объем переполняется мгновенно, и регламентное задание начинает удалять более старые файлы вне зависимости от заданного количества дней.Параметры хранения файлов не вынесены в пользовательский интерфейс «1С:Предприятия». Управление ими выполняется через административный REST API Сервера взаимодействия. Разберем по шагам, как проверить и скорректировать настройки.
Шаг 1. Проверка текущих настроек хранилища
Выполним HTTP-запрос методом GET к административному эндпоинту сервера. Для этого можно использовать утилиту curl в терминале Linux или любой HTTP-клиент:
curl -u admin:password -X GET http://localhost:8087/admin/storage_server
В полученном ответе формата JSON обратим внимание на значения параметров daysToKeep, bytesToKeep, fileSizeLimit, uploadLimit и downloadLimit.
Шаг 2. Корректировка политик хранения
Для отключения принудительного удаления файлов установим значения лимитов в 0 (значение 0 отключает ограничение). Отправим запрос на обновление конфигурации хранилища:
curl -u admin:password -X POST http://localhost:8087/admin/storage_server \
-H "Content-Type: application/json" \
-d '{
"daysToKeep": 0,
"bytesToKeep": 0,
"fileSizeLimit": 104857600
}'
Рассмотрим подробнее назначение каждого изменяемого параметра:
daysToKeep — время хранения файлов в днях. Значение 0 отключает удаление по истечении срока.bytesToKeep — максимальный суммарный объем файлов хранилища в байтах. Значение 0 снимает лимит дискового пространства на уровне Сервера взаимодействия.fileSizeLimit — максимальный размер одного загружаемого файла (в байтах). В примере установлено ограничение в 100 МБ.Если после отключения лимитов в Сервере взаимодействия файлы продолжают пропадать, проанализируем конфигурацию объектного хранилища. Зайдем в веб-консоль управления MinIO под учетной записью администратора и перейдем к бакету, выделенному для 1С:
Разберем важные нюансы, о которых необходимо помнить при администрировании системы: