跳转到主要内容

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)

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)

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)

  • 初始版本

支持者: