对象存储S3。在s3中存储和检索python对象。。

s3os的Python项目详细描述


S3对象存储

badge

使用s3作为python对象存储的简单pythonic包装器。在

提供简单的对象存储方法;以及用于更复杂用途的Dict类接口。在

示例

基本用法:

from s3os import store_simple, retrieve_simple, delete_simple

my_object = [1, 2, 3]

store_simple("my_key", my_object)

assert retrieve_simple("my_key") == my_object

delete_simple("my_key")

上面的例子在bucket“s3os”中使用了一个全局命名空间,即这个包的所有默认设置。在

您可以指定自己的名称空间(即bucket),如下所示:

^{pr2}$

或者像普通的python字典一样简单地使用s3:

from s3os import S3Dict, S3DictConfig, Bucket

my_bucket = Bucket("my_bucket")
s3dict = S3Dict(_config=S3DictConfig(id="my_dict_id", bucket=my_bucket))

# Store information in s3
s3dict["apples"] = 5
s3dict["bananas"] = 2

...

# Later, or in a different python executable, access the same dictionary again:
my_bucket = Bucket("my_bucket")
s3dict = S3Dict(_config=S3DictConfig(id="my_dict_id", bucket=my_bucket))

print(s3dict["apples])  # 5
print(s3dict.get_all_from_s3())  # {"apples": 5, "bananas": 2}

默认情况下,S3Dict使用内部缓存来加速项目检索。 设置和删除操作总是同步执行的。在

安装

安装软件包:

pip install s3os

设置您的AWS凭据。例如,设置以下环境变量:

AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...

{有关身份验证的更多信息,请参见^ a1。在

Note: boto.client() and Session authentication methods are not currently supported - raise an issue or submit a PR if you want them!

开发安装

安装诗歌-参见https://pypi.org/project/poetry/

应使用以下命令安装依赖项:

poetry install

测试

应使用以下命令运行测试:

poetry run pytest tests

运行某些测试需要有效的AWS身份验证凭据。 请参阅安装说明。在

测试调用S3的次数非常少,因此运行测试的成本可以忽略不计。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将jaxb插件扩展与gradlejaxbplugin一起使用   java Hibernate列表<Object[]>到特定对象   java使用多态性显示arraylist的输出   java水平堆叠卡,带有一定偏移量   java错误:找不到符号方法liesInt()   java客户机/服务器文件收发中的多线程流管理   在java中可以基于访问重载方法吗?   包含空元素的java排序数组   swing Java按钮/网格布局   java BottomNavigationView getmaxitemcount   java空指针异常字符串生成器   java Xamarin升级导致“类文件版本错误52.0,应为50.0”错误   java我正在尝试打印它,而不只是对每一行进行println   Tomcat7中的java是否需要复制上下文。将xml转换为conf/Catalina/locahost以使其生效   带有注入服务的java REST端点在何处引发自定义WebServiceException?   在Java中使用GPS数据   java如何将JFreeChart ChartPanel导出到包含添加的CrosshairOverlay的图像对象?   内置Eclipse期间的Java 8堆栈溢出   java在GWT编译的JavaScript中如何表示BigDecimal