Как отлаживать загрузку в S3

На короткое мгновение мне удалось настроить загрузку файлов в S3-бакет. Затем я последовал нескольким рекомендациям здесь, чтобы убедиться, что всё настроено правильно, и теперь все загрузки сохраняются локально. В логах ошибок я не вижу никаких подсказок.

Как лучше всего отлаживать такую сложную конфигурацию?

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

Я дважды проверил все значения для S3 в системе.

Привет, @Andro

У меня тоже возникают трудности с этим. Не могли бы вы поделиться своей IAM-политикой для S3? Я даже не могу пройти этот этап.

Также, какие значения вы установили для следующих флагов конфигурации?

  • s3 configure tombstone policy
  • enable s3 inventory

Спасибо!

Следующая статья — Использование объектного хранилища для загрузки файлов (S3 и аналоги). Если вы используете эти переменные окружения, процесс немного отличается — и это именно то, что вам нужно. Не забудьте про раздел вверху о задаче Rake.

Кажется, есть проблема с тем, как именно настроить права доступа для бакета.

Выглядит не очень. Приложение для пересборки лаунчера после добавления команды rake согласно инструкциям:

FAILED

Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets завершилось с ошибкой, код возврата #<Process::Status: pid 1347 exit 1>
Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn’
exec завершился неудачей с параметрами {“cd”=>“$home”, “cmd”=>[“sudo -E -u discourse bundle exec rake s3:upload_assets”]}
c0b19d01faa8c6e1f217b209bdd5293c1a1dcd2016f286d17050c299f676256c
** НЕ УДАЛОСЬ ИНИЦИАЛИЗИРОВАТЬ ** пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.

Вы, скорее всего, пропустили одну из переменных окружения. Простого наличия их в базе данных недостаточно.

Я добавил все переменные S3, но ошибка осталась прежней.

Что попробовать дальше? В логе пересборки лаунчера просто указано «exit with 1», без дополнительных подсказок.

У кого-нибудь есть пример рабочих значений app.yml (отредактированных для конфиденциальности)?

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

Приведённые в теме Clones примеры станиц являются примером файла app.yml.