Comment déplacer mon bucket de téléchargement S3 d'un fournisseur à un autre ?

J’ai configuré mon bac d’upload initialement sur AWS, mais je souhaite désormais utiliser Linode. La configuration s’est bien déroulée et je constate que les images sont déjà envoyées vers Linode.

Cependant, lorsque je consulte les anciens articles, ils pointent toujours vers AWS. Comment puis-je déplacer ces images vers Linode afin de pouvoir supprimer le bac sur AWS ?

Merci !

Synchronisez d’abord les buckets à l’aide d’un logiciel capable de le faire (aws cli, s3cmd, etc.), puis procédez au remplacement d’une chaîne dans tous les messages.

2 « J'aime »

Je viens d’exécuter ceci

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

mais cela indique 0 posts remappés

Bien que je puisse voir que l’URL est correcte, par exemple en regardant l’URL de l’image ici :

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

1 « J'aime »

Essayez

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

J’ai essayé votre suggestion. J’ai également essayé

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

J’ai obtenu le même résultat :

Remapping

0 posts remappés !

Existe-t-il une autre commande pour trouver tous les posts qui ne remplacent rien, afin de vérifier si la commande peut effectivement trouver des correspondances valides ?

Vous souhaitez inspecter les objets Upload :

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

Excellente question et conseil. Ne devrait-ce pas être un guide ?

4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.