Migrazione dei vecchi upload su S3

Mentre i miei nuovi upload vengono caricati correttamente su Amazon S3, questo comando non riesce a spostare quelli vecchi dal locale a S3:

DISCOURSE_S3_BUCKET="bucketname" DISCOURSE_S3_REGION="ap-south-1" DISCOURSE_S3_ACCESS_KEY_ID="AKIchangedabitUNM2" DISCOURSE_S3_SECRET_ACCESS_KEY="rX6Pf3C_changedabit_YKKtdVrnbw6B" DISCOURSE_S3_CDN_URL="https://bucketname.s3.ap-south-1.amazonaws.com" rake uploads:migrate_to_s3

Quindici giorni fa, questo comando funzionava alla perfezione.
Oggi restituisce questo errore:

Verifica se la migrazione predefinita è già stata eseguita...
7 dei 14 upload non sono stati migrati su S3. La migrazione S3 è fallita per il database 'default'.
1 post non sono stati rimappati al nuovo URL di upload S3. La migrazione S3 è fallita per il database 'default'.
Ricerca di upload mancanti su: default

Nessun upload di post è mancante.

Nessun post richiede una ricottura (rebaking).
Migrazione degli upload su S3 per 'default'...
Alcuni upload non sono stati migrati al nuovo schema. Esegui questi comandi nella console Rails:

SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)

Ho anche eseguito questi due comandi nella console Rails, ma sembrano non aver portato alcun beneficio:

SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)

Nota: I miei upload sono configurati per trovarsi in una sottocartella del bucket bucketname/uploads.

Hai qualche idea qui @vinothkannans?

Restituisce eventuali errori? Non riesco a vedere modifiche recenti significative nel codice del task rake uploads:migrate_to_s3.

Avevo un problema simile. Era dovuto al fatto che il percorso dei file caricati non corrispondeva a quanto previsto dal test (ad esempio, mancava ‘default’ nel percorso di qualcosa).

Quello che ho fatto (in termini generali e probabilmente poco utili) è stato verificare cosa sta facendo la ricerca per trovare quei file caricati che ritiene errati e correggerli.

L’ho risolto per caso e in un modo di cui non sono ancora sicuro di come sia successo.

Ho modificato il comando un paio di volte, principalmente aggiungendo o rimuovendo la parola ‘dualstack’ nel comando e nel campo URL CDN nelle impostazioni di Discourse: https://bxyzbucket1.s3.dualstack.ap-south-1.amazonaws.com
Ma sembrava che non funzionasse comunque. Poi, a caso, ho eseguito di nuovo i due stessi comandi (indicati nell’OP) nella console Rails.
Un passo che ho fatto a caso in quel momento è stato aggiungere la parola /uploads al nome del bucket nel comando.

E ‘a caso’ (mi serve un’altra parola casuale qui :slight_smile: ), sono riuscito.
Quindi non posso dire chi sia stato l’eroe della risoluzione.
Grazie comunque per l’ascolto.

Qualsiasi errore fosse apparso/mostrato, l’ho già incluso nel mio post originale. Ma concordo che quell’errore/messaggio non è stato molto utile per la diagnosi.

Tuttavia, oggi di nuovo, dato che non riuscivo a capire il problema nella migrazione, ho creato un upload locale. Poi ho provato a spostarlo di nuovo su S3 con questo comando:

DISCOURSE_S3_BUCKET="bxyzbucket1/uploads" DISCOURSE_S3_REGION="ap-south-1" DISCOURSE_S3_ACCESS_KEY_ID="AKIAchangedBRF" DISCOURSE_S3_SECRET_ACCESS_KEY="H0P6Oo8changed1AuLkRDCQK8" DISCOURSE_S3_CDN_URL="https://bxyzbucket1.s3.ap-south-1.amazonaws.com/uploads" rake uploads:migrate_to_s3

E anche se ha spostato il nuovo upload su S3, è apparso questo errore:

1 di 14 upload non sono stati migrati su S3. Migrazione S3 fallita per il database 'default'.
1 post non sono stati rimappati al nuovo URL di upload S3. Migrazione S3 fallita per il database 'default'.

Cosa significa questo errore? Potrebbe causare problemi se ci sono migliaia di immagini da spostare da ‘Locale >> S3’? @vinothkannans

Puoi eseguire il seguente comando nella console di Rails e incollare qui l’output?

Upload.by_users.where("url NOT LIKE '//%' AND url NOT LIKE '#{GlobalSetting.relative_url_root}/uploads/default/original/_X/%'")

Scusa se sono stato assente da questa operazione per un po’ di tempo.
Sto eseguendo il comando rails che mi hai inviato, ma non ottengo alcun output:

Ricevo ancora l’errore: “S3 migration failed for db ‘default’”
E sebbene i caricamenti e le immagini dei post siano visibili correttamente nel mio bucket e sul sito, i loghi del sito, ecc. (in Impostazioni amministratore > Branding) mancano e non riesco nemmeno ad aggiornarli con nuovi. Rimangono semplicemente vuoti.

Ho anche eseguito (senza errori): rake posts:rebake_uncooked_posts e rake posts:rebake

@vinothkannans Anche dopo un anno, quando per qualche motivo ripeto la procedura, si verifica ancora lo stesso errore.