简介
- 文件存储形式:键值对 bucket/c: filename
- 类比Windows文件夹概念,文件存储在文件夹bucket下,c目录下,文件名为filename
优势
- Amazon S3全称Amazon Simple Storage Service 是AWS(Amazon Web Service)中的产品之一,主要提供对象存储服务,那么为何选择Amazon S3 呢?基于以下几种原因考虑
- 高可靠的对象设计持久性
- 对象设计持久性达到了19个九,即99.999999999%,即10000年只会发生一次对象丢失
- 灵活的对象储存方案
- 使用S3 Intelligent-Tiering 作为默认存储类,基于访问频率,可以自动调整对象存储的方式,降低对象储存成本
- 数据安全有保证
- 提供服务端加密,客户端加密以及默认的加密方式,默认情况下只能自己访问存储桶中的对象
- 支持批量处理和跨区域复制
- 不夸张的说可以通过s3同时操作亿万个对象,同时支持将对象复制到其他区域
本小节转载于:https://blog.csdn.net/xyh15060341956/article/details/124932613
测试要点
- 创建桶
- 获取桶列表
- 对象上传
- 大文件分片上传
- 对象下载
- 分片下载
- 对象列表
- 删除对象
- 多线程上传
- 多线程下载
分片上传
python使用FileChunkIO模块,核心代码
for i in range(int(math.ceil(size / chunk_size))):
offset = i * chunk_size
bytes = min(chunk_size, size - offset)
with FileChunkIO(f_name, "rb", offset=offset, bytes=bytes) as f:
files = {'file': f.read(chunk_size)}
payload = {'name': name,
'chunk': i,
'chunks': chunks,
'uName': uName,
'fileNamePrefix': fileNamePrefix,
'callName': callName,
'userid': userid,
'app_id': app_id,
'timestamp': timestamp,
'sign': mid5_sign}
headers = {}
print(payload)
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)