Come sposto il mio bucket di caricamento s3 da un provider a un altro?

Ho configurato inizialmente il mio bucket di upload su AWS, ma ora vorrei utilizzare Linode. La configurazione è andata a buon fine e posso vedere che le immagini vengono già caricate su Linode.

Tuttavia, quando visualizzo i vecchi post, questi puntano ancora ad AWS. Come posso spostare quelle immagini su Linode in modo da poter eliminare il bucket su AWS?

Grazie!

Sincronizza prima i bucket utilizzando un software in grado di farlo (aws cli, s3cmd, ecc.) e poi procedi a sostituire una stringa in tutti i post

Ho appena eseguito questo

rake posts:remap["https://royaleapi-discuss-uploads.s3.dualstack.ap-northeast-1.amazonaws.com/","https://royaleapi-discuss-upload.ap-south-1.linodeobjects.com/"]

ma dice 0 post rimappati

Anche se posso vedere che l’URL è corretto, ad esempio guardando l’URL dell’immagine qui:

https://discuss.royaleapi.com/t/idea-for-season-21-the-archers-time/320

Prova

rake posts:remap["//royaleapi-discuss-uploads.s3.dualstack.ap-northeast-1.amazonaws.com/","//royaleapi-discuss-upload.ap-south-1.linodeobjects.com/"]

Ho provato il tuo suggerimento. Ho anche provato

rake posts:remap["royaleapi-discuss-uploads.s3.dualstack.ap-northeast-1.amazonaws.com","royaleapi-discuss-upload.ap-south-1.linodeobjects.com"]

Ho ottenuto lo stesso risultato:

Remapping

0 posts remapped!

C’è un comando diverso per trovare tutti i post che non eseguono alcuna sostituzione, per verificare se il comando riesce effettivamente a trovare corrispondenze valide?

Volete ispezionare gli oggetti Upload:

cd /var/discourse
./launcher enter app
rails c
Upload.order(Arel.sql('RANDOM()')).limit(10).pluck(:id, :url)

Ottima domanda e consiglio. Dovrebbe essere una guida pratica?