Ответ 1
Используйте -m
для установки типа MIME (который будет отправлен как заголовок Content-Type
при последующих запросах:
s3cmd -m text/html --add-header='Content-Encoding: gzip' put [files] s3://...
У меня есть файл на амазонке S3 с суффиксом ".bin.gz". Я хочу, чтобы веб-браузеры рассматривали его как gzipped файл HTML. Итак, я могу зайти в веб-консоль Amazon S3 (https://console.aws.amazon.com/s3/home) и перейти к файлу и выбрать его. Там, в свойствах, я могу перейти на вкладку "Метаданные" и добавить следующие директивы:
Content-Type: text/html
Content-Encoding: gzip
Это работает так, как ожидалось. Это легкая часть.
Теперь я хотел бы сделать то же самое с сотнями (или, возможно, миллионами) файлов в то время, когда они PUT на S3.
Я попытался использовать s3cmd с параметром --add-header
, однако это дает мне ошибку подписи при попытке установить Content-Type. Кроме того, я уверен, что это повлияет только на заголовки, отправленные во время операции PUT, а не на метаданные, которые хранятся вместе с документом.
Итак, я ищу способ сделать это, в идеале с s3cmd. Если это невозможно, я был бы признателен, если бы кто-нибудь мог предложить библиотеку python, способную применять метаданные к файлу на s3.
Должен быть способ сделать это без необходимости вручную устанавливать его в консоли.
Используйте -m
для установки типа MIME (который будет отправлен как заголовок Content-Type
при последующих запросах:
s3cmd -m text/html --add-header='Content-Encoding: gzip' put [files] s3://...