Разделы документации
Коннекторы

S3-совместимые хранилища

Подключение S3-совместимого хранилища к Charo — cloud.ru, Яндекс Object Storage, MinIO и другие.

Что индексируется

  • Объекты (файлы) указанного бакета: документы, таблицы и текстовые файлы — из них извлекается текст.

Коннектор работает с любым хранилищем, совместимым с протоколом S3: облачные хранилища российских провайдеров (cloud.ru, Яндекс Object Storage, VK Cloud), MinIO и Ceph в вашем контуре и другие.

Предварительные требования

  • Бакет в S3-совместимом хранилище и пара ключей с правом чтения: листинг бакета (ListObjectsV2) и получение объектов.

Получение учётных данных

  1. В консоли вашего хранилища создайте сервисные ключи доступа (в разных провайдерах это называется access key, статический ключ или HMAC-ключи).

  2. В Charo заполните:

    ПолеЧто указать
    Ключ доступаидентификатор ключа (для cloud.ru — в формате <tenant_id>:<key_id>)
    Секретный ключсекретная часть ключа
    Эндпоинт S3адрес API хранилища (по умолчанию s3.cloud.ru)
    Регион по умолчаниюрегион хранилища (по умолчанию ru-central-1)
    Использовать HTTPSвключено по умолчанию

Настройка в Charo

ПолеЧто указать
Имя бакетаимя бакета
Префикснеобязательно: индексировать только объекты с этим префиксом пути
Стиль адресациикак имя бакета помещается в адрес запроса: «virtual» — bucket.endpoint, «path» — endpoint/bucket, «auto» (по умолчанию) — на усмотрение клиента

По умолчанию этот коннектор синхронизируется раз в сутки; частоту можно изменить в расширенной конфигурации.

Синхронизация прав

Не поддерживается: управляйте доступом видимостью коннектора и группами (см. «Права доступа»).

Ограничения и частота обновления

  • Объекты больше 20 МиБ пропускаются.
  • Обновления забираются инкрементально — по времени изменения объекта.

Устранение неполадок

Причина отказа видна в карточке коннектора — Админка → Коннекторы, история попыток индексации.

Учётные данные не приняты

Неверный секретный ключ либо не совпал регион: у многих провайдеров регион участвует в подписи запроса и должен совпадать с настройками хранилища.

У учётной записи нет прав на эти данные

Ключу не выдано право листинга бакета (ListObjectsV2) или чтения объектов. Проверьте политику бакета и политику доступа ключа.

Настройки коннектора не подходят источнику

Опечатка в имени бакета или эндпоинта — либо хранилище не понимает выбранный «Стиль адресации». Часть хранилищ работает только в режиме «path».

Источник не отвечает

Эндпоинт должен быть доступен с сервера Charo. Для MinIO в закрытом контуре проверьте порт и то, что переключатель «Использовать HTTPS» соответствует настройке сервера.

Объект пропущен: он больше допустимого размера

Объекты больше 20 МиБ не индексируются. Разбейте документ или выложите его версию поменьше.

Объект пропущен: имя неадресуемо

В имени объекта есть сегмент . или .. — по такому адресу запрос уходит к другому объекту. Переименуйте объект в хранилище.

Объект исчез во время индексации

Он был в перечне хранилища, но при загрузке его там уже не оказалось — удалён или переименован. Следующий проход учтёт актуальный состав бакета.

В файле не нашлось текста

Файл пуст, либо это скан, на котором распознавание ничего не прочитало — см. «Распознавание текста».