一个将数据存储在S3上的Cubicweb存储
项目描述
摘要
一个将数据存储在S3上的Cubicweb存储。
它是一个标准的Cubicweb存储,类似于BytesFileSystemStorage。例如,如果您想将File.data有效负载存储在S3上,您应该在启动钩子中创建一个S3Storage实例,通常如下所示:
from cubicweb.server.hook import Hook from cubicweb_s3storage.storages import S3Storage class S3StorageStartupHook(Hook): __regid__ = 'mycube.server-startup-hook' events = ('server_startup', 'server_maintenance') def __call__(self): storage = S3Storage('s3_bucket') self.repo.system_source.set_storage('File', 'data', storage)
默认情况下,S3对象键(即S3对象标识符)是在实体创建时生成的随机UUID。如果您想实现另一个键生成算法,必须重写S3Storage.new_s3_key()方法。
与AWS的通信由boto3处理。
配置
S3Storage类构造函数需要一个S3存储桶名称。
如果您想将AWS凭据放在默认文件(~/.aws/credentials)之外的其他文件中,必须设置AWS_CONFIG_FILE环境变量。
如果您想使用除default之外的其他配置文件名,设置AWS_PROFILE环境变量。
如果您希望通过环境变量配置AWS凭据(例如,当使用docker时),可以使用以下变量
AWS_ACCESS_KEY_ID:您的AWS账户的访问密钥,
AWS_SECRET_ACCESS_KEY:您的AWS账户的秘密密钥。
有关更多详细信息,请参阅boto3文档。
进一步配置
在某些情况下,您可能想使用不在AWS上的兼容S3存储。
为此,您有以下变量
AWS_S3_ENDPOINT_URL:您的替代S3存储的端点URL
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
cubicweb-s3storage-4.0.1.tar.gz (10.7 kB 查看散列值)
构建发行版
关闭
cubicweb-s3storage-4.0.1.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 264b4514f0b3d1d43162919a27e20d621a49c6d8ad6ff00cf76b7060081f70ef |
|
MD5 | aa39b1a1cfa2944d90e0ec8bfbdc0f19 |
|
BLAKE2b-256 | c2420456ce77766cb62ead1f860e4918f0586eccc5353c2daa89be470472fa19 |
关闭
cubicweb_s3storage-4.0.1-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | db4f3fb453cf8f2fa7a960735ef4de6d5fa21f7ba491011e805418337c28e487 |
|
MD5 | d75beb124381c2215597f27efc1d4b5a |
|
BLAKE2b-256 | 1e1875e1421abb27ca58546444dd7930c06065684fa766528c8bbd39b80fa3ea |