存储服务的统一云存储api。
cloudstorage的Python项目详细描述
Cloud Storage是一个python+3.4包,它为 云存储服务:亚马逊简单存储服务(S3) 微软azure存储,minio云存储,rackspace云文件, 谷歌云存储,以及本地文件系统。
云存储的灵感来自Apache Libcloud。 apache libcloud存储的优点是:
- 完全支持Python3。
- 生成用于下载和上载文件的临时签名URL。
- 支持请求和响应头,如内容处理。
- Python!遍历容器中的所有blob和 使用各自对象的存储。
用法
>>>fromcloudstorage.drivers.amazonimportS3Driver>>>storage=S3Driver(key='<my-aws-access-key-id>',secret='<my-aws-secret-access-key>')>>>container=storage.create_container('avatars')>>>container.cdn_url'https://avatars.s3.amazonaws.com/'>>>avatar_blob=container.upload_blob('/path/my-avatar.png')>>>avatar_blob.cdn_url'https://s3.amazonaws.com/avatars/my-avatar.png'>>>avatar_blob.generate_download_url(expires=3600)'https://avatars.s3.amazonaws.com/my-avatar.png?''AWSAccessKeyId=<my-aws-access-key-id>''&Signature=<generated-signature>''&Expires=1491849102'>>>container.generate_upload_url('user-1-avatar.png',expires=3600){'url':'https://avatars.s3.amazonaws.com/','fields':{'key':'user-1-avatar.png','AWSAccessKeyId':'<my-aws-access-key-id>','policy':'<generated-policy>','signature':'<generated-signature>'}}
支持的服务
安装
要安装云存储:
pip install cloudstorage
同时安装将要使用的存储驱动程序:
pip install cloudstorage[amazon] pip install cloudstorage[google] pip install cloudstorage[local] pip install cloudstorage[microsoft] pip install cloudstorage[minio] pip install cloudstorage[rackspace]
变更日志
0.10.0(2019-08-10)
错误
- 当远程(#47)中缺少内容md5时,azureget_blob引发TypeError。谢谢@matt carr。
- AzureStorageDriver读取流两次而不倒带(#44)。谢谢@matt carr。
- 更新包依赖项以修复测试(#43)。
从0.9.0更改:
- 如果未填充内容md5,azure驱动程序将发出警告。
- 如果凭据文件不存在,则不会运行google驱动程序测试。
0.9.0(2018-11-29)
功能
- 可以使用DriverName.validate_credentials()(#34)验证驱动程序身份验证。
从0.8.0更改:
- 使用无效的凭据文件初始化GoogleStorageDriver将 引发CredentialsError异常,而不是CloudStorageError。
0.8.0(2018-11-06)
功能
- Blob和Container的meta_data现在是不区分大小写的字典。
- 为minio云存储添加新的驱动程序(#25)。 使用pip install cloudstorage[minio]安装驱动程序要求。
其他
- 移动到包的src文件夹结构。
0.7.0(2018-10-03)
功能
其他
- 删除rackspace包依赖项rfc6266_parser。
- 将flake8linting和sphinxdoc building添加到tox和travis。
0.6(2018-07-24)
- 将元数据从setup.py复制到setup.cfg
- 在测试期间调用google云存储后端时添加速率限制超时。
- 解码本地文件属性值时捕获UnicodeDecodeError。
- 升级依赖项并包含requirements.txt和dev-requirements.txt。
0.5(2018-02-26)
- 将rackspacesdk更新到0.7.5并修复中断的api调用(#14)。
0.4(2017-08-29)
0.3(2017-05-24)
- 修复了#6:将kwargs添加到每个驱动程序的init方法。
0.2(2017-04-21)
- 将pip缓存添加到travis yml文件以加速测试。
- 将wheel python tag设置为py3 only
- 将tox设置为将所有env变量传递到py.test
- 添加travis repo加密的env变量以运行测试。
0.1(2017-04-20)
- 第一次释放。