У меня есть несколько объектов, хранящихся в Amazon S3, тип содержимого которых мне нужно изменить с text/html
на application/rss+xml
. Я полагаю, что это должно быть возможно сделать с помощью команды копирования, указав один и тот же путь для источника и назначения. Я пытаюсь сделать это с помощью инструментов 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.
Если я укажу другой путь для источника и назначения, я не получу сообщение об ошибке:
$ 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
Несмотря на то, что команда завершается успешно, объект index2.html
создается с типом содержимого text/html
, а не с типом application/rss+xml
, который я указал.
Как я могу изменить эту командную строку, чтобы она работала?