在S3上使用boto库

Dav*_*542 3 python amazon-s3 boto

有没有办法更改S3文件的密钥?例如,我希望能够做到相当于:

>>> from boto.s3.key import Key
>>> k=Key(bucket)
>>> k.key='cli-images/image-thumb.jpg' # this is the original key
>>> k.key='cli-images/moved/image-thumb.jpg' # this is the key I want to change it to
>>> k.save()
Run Code Online (Sandbox Code Playgroud)

在查看boto文档时,我只能找到将密钥复制到另一个存储桶的方法,但在这种情况下,我需要将文件保留在同一个存储桶中,只需移动位置(即更改密钥).谢谢.

cen*_*zen 11

只需将对象复制到同一个存储桶并删除原始存储桶:

from boto.s3.key import Key
k=Key(bucket)
k.key='cli-images/image-thumb.jpg'
k.copy('bucketname', 'cli-images/moved/image-thumb.jpg')
k.delete()
Run Code Online (Sandbox Code Playgroud)