S3 guillotina存储支持
项目描述
GUILLOTINA_S3STORAGE
为guillotina提供S3 blob存储。
存储桶名称由容器ID和‘bucket’设置构建
"<container>.<bucket>"
示例config.json
"applications": [
"guillotina_s3storage"
]
"load_utilities": {
"s3": {
"provides": "guillotina_s3storage.interfaces.IS3BlobStore",
"factory": "guillotina_s3storage.storage.S3BlobStore",
"settings": {
"aws_client_id": "<client id>",
"aws_client_secret": "<client secret>",
"bucket": "<bucket name suffix>",
"bucket_name_format": "{container}{delimiter}{base}",
"endpoint_url": null,
"ssl": true,
"verify_ssl": null,
"region_name": null
}
}
}
开始开发
使用pip(需要Python > 3.7)
python3.7 -m venv .
./bin/pip install -e .[test]
pre-commit install
5.0.10 (2022-05-21)
使用信号量来控制aiobotocore客户端的使用。参见:https://github.com/aio-libs/aiobotocore/issues/738#issuecomment-639026068
5.0.9 (2022-03-08)
允许配置存储桶名称分隔符
5.0.8 (2021-05-06)
允许在多附件行为中删除文件
5.0.7 (2020-05-21)
公开版本要求
5.0.6 (2020-01-02)
添加缺失的range_supported
5.0.5 (2020-01-02)
修复发布
5.0.3 (2020-01-02)
添加对读取范围的支撑 [vangheem]
添加black格式化
5.0.2 (2019-11-01)
能够导入mypy [vangheem]
5.0.1 (2019-07-30)
支持未定义的属性 [bloodbare]
5.0.0 (2019-06-23)
Guillotina 5仅支持 [vangheem]
2.0.4 (2019-05-31)
S3不支持包含下划线的存储桶名称 [bloodbare] https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
2.0.3 (2019-03-19)
修复回退配置 [vangheem]
2.0.2 (2019-01-15)
使用minio测试作为S3服务器 [masipcat]
实现了针对头部请求的函数[vangheem]
移除了未使用的代码[masipcat]
修复了S3BlobStore.finalize()崩溃问题[masipcat]
2.0.1 (2018-09-20)
固定了最新的guillotina和aiohttp版本[lferran,dmanchon]
2.0.0 (2018-06-07)
升级到guillotina > 4[vangheem]
1.1.6 (2018-06-07)
固定guillotina的版本[vangheem]
1.1.5 (2018-05-12)
更严格的对象检查[vangheem]
1.1.4 (2018-05-09)
能够在配置中提供max_pool_connections值[vangheem]
1.1.3 (2018-04-07)
修复了上传空文件时的错误[vangheem]
1.1.2 (2018-03-21)
避免不必要地多次调用dm.update[vangheem]
1.1.1 (2018-03-19)
能够使用iter_data与自定义uri[vangheem]
1.1.0 (2018-03-19)
升级到Guillotina 2.5.0的新文件管理API[vangheem]
1.0.43 (2018-03-13)
修复了使用自定义URI的下载问题[vangheem]
1.0.42 (2018-03-09)
修复了保存先前的文件[vangheem]
1.0.41 (2018-03-01)
更改存储先前文件信息的时间[vangheem]
1.0.40 (2018-02-22)
进一步定制下载[vangheem]
1.0.39 (2018-02-22)
能够指定下载的uri[vangheem]
1.0.38 (2018-02-21)
调整IFileCleanup[vangheem]
1.0.37 (2018-02-20)
实现了IFileCleanup[vangheem]
1.0.36 (2018-02-02)
修复了与BytesIO数据结构一起工作的重试机制[vangheem]
1.0.35 (2017-12-28)
始终设置_one_tus_shoot值为True/False,因为它可能已经被设置[vangheem]
1.0.34 (2017-11-03)
不允许在终止分片上传时出错
1.0.33 (2017-11-02)
save_file应使用相同的tus/non tus支持[vangheem]
1.0.32 (2017-10-25)
修复了NoSuchKey异常问题[vangheem]
1.0.31 (2017-10-24)
对于小于5MB的文件不执行分片上传[vangheem]
1.0.30 (2017-10-15)
修复了一次性上传生成uri的问题[vangheem]
1.0.29 (2017-10-12)
确保在行为文件上注册对象写入[vangheem]
1.0.28 (2017-10-11)
在上下文中找不到文件时返回NotFound响应[vangheem]
1.0.27 (2017-10-04)
修复了重试装饰器[vangheem]
1.0.26 (2017-10-03)
对于现有值检查类型而不是None[vangheem]
1.0.25 (2017-10-02)
使用最新的guillotina基类[vangheem]
如果已设置,则使用字段上下文[vangheem]
1.0.24 (2017-10-02)
添加copy_cloud_file方法[vangheem]
1.0.23 (2017-09-29)
限制请求限制缓存大小为CHUNK_SIZE的最大值[vangheem]
1.0.22 (2017-09-29)
在请求冲突错误的情况下,在请求对象上缓存数据[vangheem]
1.0.21 (2017-09-19)
重试api错误[vangheem]
1.0.20 (2017-09-13)
修复发布
1.0.19 (2017-09-13)
不创建小于5MB文件的分片上传对象[vangheems]
1.0.18 (2017-09-11)
在开始发送下载结果之前确保应用CORS头[vangheem]
1.0.17 (2017-09-11)
能够覆盖下载的处置[vangheem]
1.0.16 (2017-09-06)
当文件对象上没有存储分片上传数据时,修复了终止现有上传的错误[vangheem]
1.0.15 (2017-09-01)
实现了save_file方法[vangheem]
1.0.14 (2017-08-15)
提供iter_data方法[vangheem]
1.0.13 (2017-06-21)
确保设置与实用程序一起使用的循环[vangheem]
1.0.12 (2017-06-18)
能够提供更多的s3连接选项[vangheem]
1.0.11 (2017-06-15)
在下载文件时没有提供内容类型时猜测内容类型[vangheem]
1.0.10 (2017-06-14)
能够自定义文件下载的内容处置头[vangheem]
1.0.9 (2017-06-12)
使所有网络活动异步[vangheem]
将S3BlobStore.get_bucket重命名为协程:S3BlobStore.get_bucket_name[vangheem]
将S3BlobStore.session重命名为S3BlobStore._s3aiosession[vangheem]
1.0.8 (2017-05-19)
提供iterate_bucket方法[vangheem]
提供重命名对象的方法[vangheem]
使用使用对象oid的键[vangheem]
1.0.7 (2017-05-02)
确保在上传时写入对象[vangheem]
1.0.6 (2017-05-01)
修复了对_md5hash的引用而不是_md5以使序列化工作[vangheem]
1.0.5 (2017-05-01)
修复了字节序列化问题[vangheem]
1.0.4 (2017-05-01)
不要从BaseObject继承[vangheem]
1.0.3 (2017-05-01)
S3File现在可以在构造函数中接受更多参数[vangheem]
1.0.2 (2017-04-26)
实用程序需要能够接受循环参数[vangheem]
1.0.1 (2017-04-25)
与最新的aiohttp兼容[vangheem]
1.0.0 (2017-04-24)
初始版本