Я пытаюсь изменить атрибут CacheControl из файла, который уже находится в S3.Я обнаружил, что лучше всего копировать этот объект по тому же пути, меняя его метаданные.Код довольно прост:
file_key = 'index.html'
s3_object = s3_resource.Object(bucket_name, file_key)
s3_object.copy_from(CopySource={'Bucket':bucket_name, 'Key':file_key},
CacheControl='no-cache',
MetadataDirective='REPLACE')
Этот код не работает без MetadataDirective='REPLACE'
, но из-за этого файл теряет все остальные метаданные.Я мог бы установить все метаданные вручную, но это может вызвать проблемы в будущем.
Есть ли способ изменить одни метаданные и сохранить все остальные?