Коды ошибок файлового хранилища (mpbx-files)
Коды, которые возвращает абстракция ObjectStore (совместимое с S3 хранилище, GCS, локальный диск).
Уровень API сопоставляет вид со статусом HTTP так же, как для всех значений mpbx_common::Error.
Сообщения никогда не содержат учётные данные или подписанные URL.
| Код | Вид | Значение | Что делать |
|---|---|---|---|
MPBX-FILES-INVALID-KEY | invalid_argument | Ключ объекта или префикс списка некорректны: пустые, длиннее 1024 байт, содержат пустой или точечный сегмент, символ вне набора A-Z a-z 0-9 . _ - = @ + и /, либо системный ключ начинается с t/ (зарезервировано для компаний). | Формируйте ключи из идентификаторов и очищенных имён; никогда не помещайте в ключ имена файлов, введённые пользователем. |
MPBX-FILES-INVALID-TTL | invalid_argument | Срок жизни подписанного URL равен нулю или превышает 7 дней. | Укажите срок от 1 секунды до 7 дней. |
MPBX-FILES-NOT-FOUND | not_found | Объект не существует (или находится вне области видимости вызывающего). | Проверьте ключ и компанию. |
MPBX-FILES-CONFLICT | conflict | Загрузка с режимом «только создание» нашла существующий объект. | Используйте новый ключ или намеренно перезапишите объект. |
MPBX-FILES-BACKEND | unavailable | Хранилище отклонило запрос или не смогло его выполнить: сетевая ошибка, учётные данные, права доступа, отсутствующий bucket, ограничение частоты запросов. Повтор возможен. | Проверьте настройки хранилища и mpbx selftest; причину от хранилища смотрите в строке журнала. |
MPBX-FILES-NOT-SUPPORTED | internal | Активное хранилище не может выполнить запрошенную операцию. | Сообщите о проблеме вместе со строкой журнала. |
MPBX-FILES-CONFIG | config | Настройка хранилища непригодна: неверный префикс, отсутствуют или заданы наполовину учётные данные, локальный корень недоступен для записи, неверные настройки bucket. | Исправьте настройки [files] или хранилища в административном интерфейсе. |
MPBX-FILES-TENANT-DENIED | permission_denied | Дескриптор файлов компании (TenantFiles) получил ключ другой компании или ключ общесистемной области, например подменённую сохранённую ссылку (W1-PBX-10). | Ошибка или атака: проверьте, откуда взялся ключ. Ключи компании создаются через TenantFiles::key или принимаются через TenantFiles::parse_owned. |
MPBX-FILES-MIGRATE-SIZE | unavailable | mpbx storage migrate скопировал объект, но сохранённый размер отличается от размера источника (источник изменился во время чтения или приёмник потерял байты). Неполная копия удалена. | Запустите перенос снова: он повторит обработку этого объекта. Если ошибка повторяется, проверьте хранилище-приёмник и убедитесь, что во время копирования никто не записывает в объект. |