Mam kilka obiektów przechowywanych w Amazon S3, których treść typu I należy zmienić z text/html
na application/rss+xml
. Rozumiem, że powinno to być możliwe za pomocą polecenia copy, określającego tę samą ścieżkę dla źródła i miejsca docelowego. Staram się to zrobić za pomocą narzędzi CLI AWS, ale ja dostaję ten błąd:Jak mogę zmienić typ zawartości obiektu za pomocą 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.
Gdybym określić inną ścieżkę do źródła i miejsca przeznaczenia, nie pojawia się błąd:
$ 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
Mimo że polecenie zakończyło się pomyślnie, obiekt index2.html
jest tworzony z typem treści text/html
, a nie z podanym typem application/rss+xml
.
Jak zmodyfikować tę linię poleceń, aby działała?
Właśnie zobaczyłem [ten problem] (https://github.com/aws/aws-cli/issues/652#issuecomment-41213226) zgłaszając ten sam problem. Ten wątek zawiera kilka obejść, więc zobaczę, jak sobie z nimi poradzę. – nelstrom