在S3上使用boto库

3 投票
1 回答
2657 浏览
提问于 2025-04-17 01:57

有没有办法改变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()

我查看了boto的文档,只找到一种方法可以把一个键复制到另一个存储桶,但在这种情况下,我需要文件留在同一个存储桶里,只是改变它的位置(也就是改变键名)。谢谢。

1 个回答

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()

撰写回答