说明
由于之前在阿里的服务器出现了故障,需要重新安装镜像,但是碍于服务器带宽太小,数据下载需要太久,所以想到了阿里的OSS对象存储来临时存放文件。
调用库
pip install oss2
前期工作
1、进入阿里云OSS管理控制台,进入左侧的Bucket 列表
2、点击创建Bucket
3、设置一个Bucket名称,区域可以自行选择(如果本身有服务器在阿里云,可以选择和服务器在同一区域的OSS,这样可以使用内网快速传输)
4、(此步骤按需操作)如果你使用的是RAM账号,请给予账号OSS管理权限
5、进入刚刚创建Bucket管理界面,可以看到地域节点,一般来说使用外网访问的链接,当然如果你如果有服务器和Bucket在同一区域可以使用ECS 的经典网络访问(内网) 经过实测内网速度可以到达5GB/S。
代码
import oss2
import os
# 如果你是主账号AccessKey则拥有所有API的访问权限,如果你是RAM账号,需要给予OSS管理的权限。(请看前期工作的第4步)
auth = oss2.Auth('<AccessKeyId>', '<AccessKeySecret>')
# Endpoint(地域节点)以深圳为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'oss-cn-shenzhen-internal.aliyuncs.com', 'oss-horizon157') # 后两个参数是:地域节点,Bucket名称
# 下载
bucket.get_object_to_file('database/db_20200815_114230.sql.gz','/www/db_20200815_114230.sql.gz') # 两个参数分别为:OSS文件路径,本地文件存储路径
# 上传
bucket.put_object_from_file('/www/db_20200815_114230.sql.gz', 'database/db_20200815_114230.sql.gz') # 两个参数分别为:本地文件路径,OSS文件存储路径