How to update metadata of an existing object in AWS S3 using python boto3?
<p>boto3 documentation does not clearly specify how to update the user metadata of an already existing S3 Object.</p>

<p>It can be done using the copy_from() method -</p>

<pre><code>import boto3

s3 = boto3.resource('s3')
s3_object = s3.Object('bucket-name', 'key')
s3_object.metadata.update({'id':'value'})
s3_object.copy_from(CopySource={'Bucket':'bucket-name', 'Key':'key'}, Metadata=s3_object.metadata, MetadataDirective='REPLACE')
</code></pre>

python amazon-web-services amazon-s3 boto3