ec89198b693dd221d603373294f36ea14c5c25f1.png:1 GET https://discourse-sumatra-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/e/ec89198b693dd221d603373294f36ea14c5c25f1.png 403 (Forbidden)
Image (async)
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
e7cb414e4237ed797a603eeea49d7ed468ac2aee.png:1 GET https://discourse-sumatra-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/e/e7cb414e4237ed797a603eeea49d7ed468ac2aee.png 403 (Forbidden)
Image (async)
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
5:1 Ошибка при попытке использовать следующую иконку из манифеста: https://forum.sumatrapdfreader.org/manifest.webmanifest (Ошибка загрузки или ресурс не является допустимым изображением)
К сожалению, S3 вводит в заблуждение и, похоже, возвращает 403 для несуществующих файлов (вместо 404), поэтому скорее всего изображения больше отсутствуют в S3, чем проблема в нарушенных правах доступа.
Кратко: я просто обновил Discourse через веб-интерфейс, и многие изображения, похоже, были удалены из резервной копии S3. Пример страницы: No preview in Windows Explorer
Есть ли идеи, как восстановить/загрузить эти изображения заново?
Что я пробовал, но это не помогло:
rake uploads:recover_from_tombstone
rake posts:missing_uploads
возвращает:
2 uploads are missing.
2 of 6867 posts are affected.
Очевидно, пропало гораздо больше, чем 2 изображения.
rake uploads:missing
Сейчас это, кажется, полностью сломано:
default has uploads on S3!
validating without inventory is likely to take an enormous amount of time.
We recommend you run SKIP_EXTERNAL=1 rake uploads:missing to skip validating if on a multisite.
rake aborted!
PG::SyntaxError: ERROR: syntax error at end of input
LINE 1: INSERT INTO verified_ids VALUES
^
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:56:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:56:in `exec'
/var/www/discourse/lib/file_store/s3_store.rb:290:in `list_missing'
/var/www/discourse/lib/file_store/s3_store.rb:197:in `list_missing_uploads'
/var/www/discourse/lib/tasks/uploads.rake:396:in `list_missing_uploads'
/var/www/discourse/lib/tasks/uploads.rake:389:in `block (2 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:374:in `block in <main>'
/var/www/discourse/lib/tasks/uploads.rake:400:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:missing_files
(See full trace by running task with --trace)