J'ai plusieurs objets stockés dans Amazon S3 dont je dois changer le type de contenu de text/html
à application/rss+xml
. Je comprends qu'il devrait être possible de le faire avec une commande de copie, en spécifiant le même chemin pour la source et la destination. Je suis en train de le faire en utilisant les outils AWS cli, mais je reçois cette erreur:Comment puis-je changer le type de contenu d'un objet en utilisant aws cli?
$ aws s3 cp s3://mybucket/feed/ogg/index.html \
s3://mybucket/feed/ogg/index.html \
--content-type 'application/rss+xml'
copy failed: s3://mybucket/feed/ogg/index.html
to s3://mybucket/feed/ogg/index.html
A client error (InvalidRequest) occurred when calling the
CopyObject operation: This copy request is illegal because it is
trying to copy an object to itself without changing the object's
metadata, storage class, website redirect location or encryption
attributes.
Si je spécifie un autre chemin pour la source et la destination, je ne suis pas l'erreur:
$ aws s3 cp s3://mybucket/feed/ogg/index.html \
s3://mybucket/feed/ogg/index2.html \
--content-type 'application/rss+xml'
copy: s3://mybucket/feed/ogg/index.html
to s3://mybucket/feed/ogg/index2.html
Même si la commande aboutit, l'objet index2.html
est créé avec le type de contenu text/html
, et non le type application/rss+xml
que j'ai spécifié.
Comment puis-je modifier cette ligne de commande pour que cela fonctionne?
J'ai vu [ce problème] (https://github.com/aws/aws-cli/issues/652#issuecomment-41213226) signaler le même problème. Ce thread comprend quelques solutions de contournement, donc je vais voir comment je m'entends avec eux. – nelstrom