Загрузка локальных файлов в DigitalOcean Spaces (S3) с помощью rake uploads:migrate_to_s3 запускается и мигрирует часть файлов, но затем внезапно прерывается на одном файле с ошибкой Aws::S3::Errors::SignatureDoesNotMatch.
Когда этот файл загружается вручную с использованием скрипта, упомянутого в Extend S3 configuration for other S3 API compatible services - #4 by rishabh, и скрипт запускается повторно, загружаются ещё некоторые файлы, но затем он снова прерывается на другом файле.
Может ли кто-нибудь из команды посмотреть на эту проблему? У меня есть почти 50 ГБ файлов, которые мне нужно перенести с локального хранилища в S3 в ближайшее время (конфигурация и загрузка новых файлов работают без проблем).
Меня устроит даже временное решение: я изучил код to_s3_migration.rb и могу определить проблемные файлы, но при их загрузке в S3 с помощью Aws::S3::Resource из упомянутого выше скрипта метаданные файла отсутствуют, а при скачивании теряется исходное имя файла.
Поиск в интернете выдаёт множество проблем, связанных с SignatureDoesNotMatch: в одной из них упоминается, что версия алгоритма подписи, используемая гемом, может быть неверной, но это выходит за рамки моих текущих навыков для проверки.
Вот конфигурация для rake:
DISCOURSE_S3_ACCESS_KEY_ID="id" \
DISCOURSE_S3_SECRET_ACCESS_KEY="secret" \
DISCOURSE_S3_REGION="sfo2" \
DISCOURSE_S3_BUCKET="mybucket/uploads" \
DISCOURSE_S3_ENDPOINT="https://sfo2.digitaloceanspaces.com" \
DISCOURSE_S3_CDN_URL="https://mybucket.sfo2.cdn.digitaloceanspaces.com" \
rake uploads:migrate_to_s3 --trace