python操作s3 -- boto2.x


以下是python操作s3常用方法:

boto s3手冊:http://boto.readthedocs.org/en/latest/ref/s3.html

boto s3快速入門:http://boto.readthedocs.org/en/latest/s3_tut.html

import boto
from boto.s3.key import Key

#高級連接,當然你需要配置好YOUR_ACCESS_KEY,YOUR_SECRET_KEY,我這里是配好了
conn = boto.connect_s3()

#創建一個存儲桶
conn.create_bucket('yourbucket')
conn.create_bucket('yourbucket', location=Location.USWest)

#訪問一個存儲桶
bucket = conn.get_bucket('yourbucket')
exists = conn.lookup('yourbucket')

#向s3上存儲數據, 數據來源可以是file、stream、or string,下面為從文件獲取數據保存到s3上的test.txt文件中
key = Key(bucket, 'hadoop/data_log/test.txt')
key.set_contents_from_file('/tmp/hello.txt')
#讀取s3上文件中的內容,返回string,當然還有其他形式,看源碼
key.get_contents_as_string()

#刪除一個存儲桶,在刪除存儲桶本身時必須刪除該存儲桶內的所有key
for key in bucket:
    key.delete()
bucket.delete()

#迭代遍歷buckets and keys
for bucket in conn:
    for key in bucket:
        print key.name

#一個判斷文件夾中是否有文件的方法
rs = bucket.get_all_keys(prefix=rel_path)
if len(rs)>0:
    print '有文件'
else:
    print '為空'
#例如:要判斷 path=s3://data/hadoop/data_log/20160301/01/文件夾下是否有文件時,rel_path的取值:rel_path = path[10:]

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM