Das Hochladen lokaler Dateien in DigitalOcean Spaces (S3) mit rake uploads:migrate_to_s3 startet und migriert einige Dateien, bricht dann jedoch plötzlich bei einer Datei mit dem Fehler Aws::S3::Errors::SignatureDoesNotMatch ab.
Wenn diese Datei manuell mit dem Skript hochgeladen wird, das unter Extend S3 configuration for other S3 API compatible services - #4 by rishabh erwähnt wird, und das Skript erneut ausgeführt wird, werden weitere Dateien hochgeladen, aber es schlägt erneut bei einer anderen Datei fehl.
Könnte bitte jemand vom Team sich das ansehen? Ich habe fast 50 GB Dateien, die ich in naher Zukunft vom lokalen Speicher nach S3 verschieben muss (Konfiguration und Hochladen neuer Dateien funktionieren problemlos).
Ich wäre auch schon mit einem Workaround für den Moment zufrieden: Ich habe mir den Code in to_s3_migration.rb angesehen und kann die problematischen Dateien identifizieren, aber wenn ich sie über Aws::S3::Resource mit dem oben genannten Skript nach S3 hochlade, fehlen die Datei-Metadaten und der ursprüngliche Dateiname geht beim Herunterladen verloren.
Eine Websuche nach „SignatureDoesNotMatch“ liefert zahlreiche Fehlermeldungen: Eine davon erwähnt, dass die Version des Signaturalgorithmus, die das Gem verwendet, möglicherweise falsch ist, aber das liegt außerhalb meiner aktuellen Fähigkeiten, das zu überprüfen.
Hier ist die Konfiguration für 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