使用boto命令行工具从S3中删除密钥

时间:2015-04-03 07:47:50

标签: python amazon-s3 boto

我想使用boto命令行工具从s3删除密钥,但我在文档中找不到任何命令

http://boto.readthedocs.org/en/latest/commandline.html

有没有办法使用boto命令行从s3删除密钥?

1 个答案:

答案 0 :(得分:0)

是的,有一个删除方法作为boto.s3模块的一部分。获得密钥对象后,可以删除密钥。

(请注意,如果您打开版本控制版,则会有一个版本的版本用于生命周期设置 - 如果您不知道这意味着什么,您可能不需要担心它)

这是一个例子:

from boto.s3.connection import S3Connection
s3conn = S3Connection()  # assumes you have a /etc/boto.cfg or .boto
bucket = s3conn.get_bucket('bucket-name-here')
bucket.get_all_keys()   # this shows all the keys - only for demo purp.
bucket.get_key('full_key_path_name').delete()
bucket.get_all_keys()   # thos shows all the keys - sans the one you deleted

演示:

from boto.s3.connection import S3Connection()
>>> s3 = S3Connection()
>>> bucket = s3.get_bucket('cgseller-test')
>>> bucket.get_all_keys()
[<Key: cgseller-test,newfolder/else>, <Key: cgseller-test,newfolder/file>, <Key: cgseller-test,newfolder/file1>, <Key: cgseller-test,newfolder/file2>, <Key: cgseller-test,test>]
>>> bucket.get_key('newfolder/else').delete()
<Key: cgseller-test,newfolder/else>
>>> bucket.get_all_keys()
[<Key: cgseller-test,newfolder/file>, <Key: cgseller-test,newfolder/file1>, <Key: cgseller-test,newfolder/file2>, <Key: cgseller-test,test>]