amazon s3对象存储

简介

  • 文件存储形式:键值对 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值