Tôi có một số đối tượng được lưu trữ trong Amazon S3 có loại nội dung tôi cần thay đổi từ text/html
thành application/rss+xml
. Tôi thu thập rằng nó sẽ có thể làm điều này với một lệnh sao chép, xác định cùng một đường dẫn cho nguồn và đích. Tôi đang cố gắng để làm điều này bằng cách sử dụng công cụ cli AWS, nhưng tôi nhận được lỗi này:Làm cách nào để thay đổi kiểu nội dung của đối tượng bằng 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.
Nếu tôi chỉ định một con đường khác cho nguồn và đích, tôi không nhận được lỗi:
$ 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ặc dù lệnh hoàn tất thành công, đối tượng index2.html
được tạo với loại nội dung text/html
, không phải loại application/rss+xml
mà tôi đã chỉ định.
Làm cách nào tôi có thể sửa đổi dòng lệnh này để làm cho nó hoạt động?
Chỉ cần thấy [vấn đề này] (https://github.com/aws/aws-cli/issues/652#issuecomment-41213226) báo cáo cùng một vấn đề. Chủ đề đó bao gồm một vài cách giải quyết, vì vậy tôi sẽ xem cách tôi tiếp tục với họ. – nelstrom