使用boto3更改s3对象CacheControl

2024-06-16 12:45:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个已经在S3中的文件更改CacheControl属性。 我发现我最好的选择是将这个对象复制到同一个路径,更改它的元数据。代码非常简单:

    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',这段代码将无法工作,但它会使文件丢失所有其他元数据。我可以手动设置所有的元数据,但这可能会在将来引起问题。在

有没有办法改变一个元数据而保留所有其他元数据?在


Tags: 文件数据对象key代码name属性object