最近一直在跟S3打交道,但是苦于java不会,python懂一点,API这个东东经常听也知道是啥,但是没有实际根据API文档去进行相关开发的经历,所以前期一直很忐忑,都是找别人帮忙写好特定功能的程序,我只是使用而已,昨天呢一发狠,就试着将boto(python的S3库)的快速入门和API手册从头读起,收获颇丰,也瞬间揭开了API的神秘面纱,自此个也能自豪的说我也是用过API写过小程序的淫了啊。下面就是我针对我的应用场景根据S3的API整理的实现方式。
应用场景:需要存储东西到S3服务器上,每一个类别建一个特定名字的bucket,对于每一个类别分日期建立文件夹存储文件,要统计上传的进度。
解决方案:(python boto)
boto s3 API手册地址:http://boto.readthedocs.org/en/latest/ref/s3.html
boto s3 API 快速入门地址:http://boto.readthedocs.org/en/latest/s3_tut.html ——这里面讲到了的,我就略讲,主要是说点我不是很清楚的地方。
1.连接S3服务器,如果没有入门手册,连蒙带猜,也应该知道是在boto.s3.connection中,点开链接去看API手册,可以看到下面一行class boto.s3.connection.S3Connection(aws_access_key_id=None,aws_secret_access_key=None,
is_secure=True,port=None,proxy=None,proxy_port=None,proxy_user=None,proxy_pass=None,
host='s3.amazonaws.com',debug=0,https_connection_factory=None,
calling_format='boto.s3.connection.SubdomainCallingFormat',path='/',
provider='aws',bucket_class=,security_token=None,
suppress_consec_slashes=True,anon=False,validate_certs=None)
返回连接标示符
这个class开头的就是一个类啦,使用前记得import,或者直接将父类boto.s3.connection都给import了,里面的参数很多我也不知道是干啥的,但是aws_access_key_id, aws_secret_access_key是必须的,但是结合我的实际情况(我使用的是兼容S3接口)因此除了两个key外,host需要设置,还有is_secure=False,前辈写的oython连接脚本里面还