PyFileSystem2的Amazon S3文件系统

fs-s3fs的Python项目详细描述


s3fs是 亚马逊S3云存储。

作为pyfilesystem的具体类, S3FS允许您工作 与其他受支持的文件系统一样使用s3。

安装

您可以从pip安装s3fs,如下所示:

pip install fs-s3fs

打开S3fs

通过显式使用构造函数打开s3fs:

fromfs_s3fsimportS3FSs3fs=S3FS('mybucket')

或使用fs url:

fromfsimportopen_fss3fs=open_fs('s3://mybucket')

下载文件

要从s3存储桶中下载文件,请在s3文件系统上打开一个文件 读取时,将数据写入本地文件系统上的文件。 下面是一个将文件example.mov从s3复制到hd的示例:

fromfs.toolsimportcopy_file_datawiths3fs.open('example.mov','rb')asremote_file:withopen('example.mov','wb')aslocal_file:copy_file_data(remote_file,local_file)

尽管在 fs.copy模块。下面是一个示例:

fromfs.copyimportcopy_filecopy_file(s3fs,'example.mov','./','example.mov')

上载文件

您可以用同样的方法上载文件。只需从源复制文件 文件系统到s3文件系统。见Moving and Copying 更多信息。

附加参数

除了传统的文件系统之外,s3对象还有其他属性。 可以使用upload_args和^{tt4}设置这些选项$ 财产。它们被用于上传和下载方法,如 适用于文件系统实例的生存期。

例如,要设置上载的所有对象的cache-control头 桶:

importfs,fs.mirrors3fs=S3FS('example',upload_args={"CacheControl":"max-age=2592000","ACL":"public-read"})fs.mirror.mirror('/path/to/mirror',s3fs)

the Boto3 docs 更多信息。

aclcache_control为了方便而显式公开, 可以在url中使用。重要的是url转义 cache_controlURL中的值,因为它可能包含特殊字符。

importfs,fs.mirrorwithopenfs.open_fs('s3://example?acl=public-read&cache_control=max-age%3D2592000%2Cpublic')ass3fsfs.mirror.mirror('/path/to/mirror',s3fs)

s3网址

您可以按如下方式获取S3存储桶上文件的公共URL:

movie_url=s3fs.geturl('example.mov')

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

推荐PyPI第三方库


热门话题
java SimpleCursorAdapter删除值   java结束while循环条件   java检查设备是否连接到特定网络   java组织。冬眠MappingException找不到逻辑名称为annotation getter的列   为什么java邮件中会抛出此异常?   加载SDK时发生java Eclipse错误   返回奇怪输出的Java数组   JavaXStream和对象类序列化   将枚举列表传递给namedQuery后出现java非法转换异常。Hibernate中的setParameter()   java Android studio不允许我在字符串上使用开关?   有没有办法从Java程序访问存储在Chrome中的cookie   java在枚举中构造实例而不修改枚举类   java Blackberry JDE FieldChangeListener   java修复错误:未报告的异常InterruptedException   java Spring数据JPA:findAll(具有规范和可分页)在计数查询中失败