Использование библиотеки boto на S3 - PullRequest
3 голосов
/ 10 сентября 2011

Есть ли способ изменить ключ файла 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 голосов
/ 10 сентября 2011

просто скопируйте объект в ту же корзину и удалите исходную:

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