使用 b2sdk 的 django backblaze b2 存储
项目描述
使用 b2sdk 的 django backblaze b2 存储(b2sdk 是官方的 backblaze python 库)
文档
完整的文档位于https://django-b2.readthedocs.io。
快速开始
安装 django-b2:
pip install django-b2
添加到您的设置中:
MEDIA_URL = '/media/'
DEFAULT_FILE_STORAGE = 'django_b2.storage.B2Storage' # if used without django-tenant-schemas
# DEFAULT_FILE_STORAGE = 'django_b2.tenant_storage.TenantB2Storage' # if used with django-tenant-schemas
B2_APP_KEY_ID = 000xxxxxxxxxxxx000000000n
B2_APP_KEY = keyvalue
B2_BUCKET_NAME = bucketname
# optional, see Usage (docs/usage.rst):
B2_FORCE_UNIQUE = False
# optional, see Usage (docs/usage.rst):
MEDIA_ROOT = ..
B2_LOCAL_MEDIA = .. # "", "M", "L", "ML"
在 Django 之外使用:
from django_b2.backblaze_b2 import BackBlazeB2
b2 = BackBlazeB2()
b2.authorize("production", application_key_id, application_key)
b2.set_bucket(bucket_name)
with open(filename, 'rb') as f:
b2.upload_file(filename, f)
content = b2.download_file(filename)
with open(filename2, 'wb') as f:
f.write(content)
特征
Django 媒体存储(使用 storage.py)或对 BackBlaze B2 的一般 python 访问(不使用 storage.py)。
将单个文件上传到 B2(调用 backblaze_b2.py 作为脚本;0.2.0 中的新功能)
将 postgres 数据库备份到 B2(使用脚本 pgtob2.sh;0.2.0 中的新功能)
可选择在本地缓存媒体文件以便立即访问或长时间快速访问。
运行测试
代码真的有效吗?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install -r requirements_test.txt (myenv) $ tox
学分
用于渲染此包的工具:
历史
0.7.0 (2020-12-29)
新的 Django 设置 B2_FORCE_UNIQUE 和新的底层构造函数参数 BackBlazeB2(force_unique=True)
0.6.2 (2020-11-04)
B2Storage() 初始化为 settings.DEFAULT_FILE_STORAGE 如果 'B2Storage' 字符串不在里面可以与 @override_settings(DEFAULT_FILE_STORAGE='django.core.files.storage.FileSystemStorage') 一起使用见https://github.com/pyutil/ django-b2/issues/4
0.6.0 (2020-05-28)
延迟加载,避免在 collectstatic 期间运行代码,.. - https://github.com/pyutil/django-b2/issues/3
0.5.5 (2020-05-24)
错误修复:在 Windows 上上传,感谢 Same Weaver,https://github.com/pyutil/django-b2/issues/2
Linux abs 文件名:前导“/”将被删除,因此我们可以使用本地 abs 名称 1:1 上传到 b2(在 Windows 中:C:/.. 是有效名称)
0.5.0 (2020-02-17)
可以使用 django-tenant 模式,租户感知存储 django_b2.tenant_storage.TenantB2Storage
0.4.0 (2020-02-10)
可以使用管理命令 b2_clear_local_media 清除较旧的本地媒体(请参阅 B2_LOCAL_MEDIA)
B2_LOCAL_CACHE 设置重命名为 B2_LOCAL_MEDIA,可能的值更改为 =”ML”
0.3.0 (2020-02-08) - 不要使用
!!新的 B2_LOCAL_MEDIA 设置在 0.3.0 中命名为不兼容为 B2_LOCAL_CACHE=”FM”
B2_LOCAL_MEDIA 设置以制作文件的本地副本。因此,您可以在 backblaze 上备份本地实例。
如果 django 应用程序想要立即重新打开文件,B2_LOCAL_MEDIA 可以防止失败(imagekits 创建缩略图,Wagtail 就是一个例子)
0.2.0 (2020-01-31)
backblaze_b2.py 可以作为脚本调用来上传单个文件。
pgtob2.sh 脚本备份 postgres 数据库
0.1.5 (2020-01-02)
没有代码更改。较小的文档更改。
0.1.4 (2020-01-02)
PyPI 上的第一个版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
django_b2-0.7.0 -py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0601cec39fc9e37d13789b40f1a52a29307c8a67cc06241974a9dde35bf0bc0a |
|
| MD5 | b70cd81afdc8bd2b17b4c2e14198bebe |
|
| 布莱克2-256 | e71b8d44f7f9035a79666b2821d2f4451c6a3e765f10d2e6f773f07f1fcfe100 |