使用类似文件的对象读写amazon s3
python-s3file的Python项目详细描述
使用类文件对象将文件读写到s3。请参阅使用完整url的s3 bucket和keys。
底层机制是使用cStringIO作为文件模拟的延迟读写。这是内存缓冲区,因此不适合大文件(大于内存)。
由于s3只支持对整个键的读写,因此s3键将被完整地读写在close。从1.2版开始,此读写被推迟到需要时,只有在从文件中读取或在文件中写入时,密钥才被读取,只有在对缓冲区内容执行了写入操作时才被更新。
需要更多的测试和文档。
要求
boto
用法
基本用法:
from s3file import s3open f = s3open("http://mybucket.s3.amazonaws.com/myfile.txt") f.write("Lorem ipsum dolor sit amet...") f.close()
with语句:
with s3open(path) as remote_file: remote_file.write("blah blah blah")
s3身份验证密钥和密钥可以传递到s3open方法中,也可以存储在boto config file中。:
f = s3open("http://mybucket.s3.amazonaws.com/myfile.txt", key, secret)
s3open的其他参数包括:
- 过期天数
- 设置客户端应缓存远程文件的天数。默认值为0,不缓存。
- 专用
- 如果为true,则将文件设置为私有。默认为False,公共可读。
- 内容类型
- 将从url猜测文件的内容类型,但您可以通过传递内容类型值来显式设置它。
- 创建 < d> > {STR 1 }在版本1.1 < /强>中新建,如果为false,假定桶存在并绕过验证。风险更大,但可以加快写作速度。默认为真。