赞
踩
S3是Amazon Web Services (AWS) 提供的一种对象存储服务,全称为 Amazon Simple Storage Service。它提供了一种高度可扩展、安全且持久的云存储解决方案。
在S3中,用户可以存储和检索任意数量的数据,包括文件、图片、视频等任何类型的二进制数据或文本数据,并通过互联网进行访问。S3支持海量存储空间,可以根据需求随时增加或减少存储容量,并按实际用量付费。
S3的主要特点包括:
可靠性:数据在多个设施中冗余存储,确保高可用性和耐用性。
安全性:支持多种加密方式,如服务器端加密(SSE-S3, SSE-KMS, 或者客户提供的密钥),以及访问控制列表(ACL)和IAM策略来管理权限。
大规模存储:能够存储PB级的数据,并能处理极高的请求率。
低成本:仅需为实际使用的存储量、请求次数和数据流出量付费。
易用性:提供了简单的Web界面和丰富的API接口,便于管理和操作存储桶及其中的对象。
S3广泛应用于各种场景,例如网站托管、备份与恢复、数据分析、内容分发、应用程序开发等。
s3cmd 是一个开源的命令行工具,用于与Amazon S3服务进行交互。它允许用户通过命令行界面上传、下载、管理存储在S3上的文件和桶(bucket)。使用s3cmd可以方便地执行常见的S3操作,例如:
创建、删除和列出S3桶
上传、下载和删除S3对象(文件)
设置访问控制列表(ACLs)以控制对象权限
同步本地目录与S3桶或反之
进行多部分上传大文件
下面简单介绍如何使用s3fs模块从python读取s3的数据:
# 封装s3函数 def s3fs_data(file_name, file_sep, col_name): """ 参数: file_name 文件名 file_sep 文件分隔符 col_name 文件字段名 返回值: pdf pandas的df数据 """ import pandas as pd import s3fs # ccs存储桶名称 bucket_name = '10-bucket' # 文件名 file_name = file_name # 设置你访问密钥 access_key = '123456' secret_key = '123456' # 创建 S3 文件系统对象,指定自定义的 S3 服务端点和访问密钥 custom_endpoint = 'http://127.0.0.1:8011' s3 = s3fs.S3FileSystem(key=access_key, secret=secret_key, client_kwargs={'endpoint_url': custom_endpoint}) # 读数转为pandas df数据格式 with s3.open(f's3://{bucket_name}/{file_name}') as f: pdf = pd.read_csv(f, sep=file_sep, names=col_name, header=None, encoding="utf-8") return pdf
%%time
# 传入参数
file_name = 'oneid_cache.txt'
file_sep = '|'
col_name = ['r_inst_id', 'offer_list', 'filter_prod_offer_inst_list', 'fuka_serv_offer_list', 'filter_list', 'new_serv_id','if_gzjy']
oneid_pdf = s3fs_data(file_name=file_name, file_sep=file_sep, col_name=col_name)
oneid_pdf.head()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。