手把手实践腾讯云COS对象存储的上传
Posted feko大魔王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手实践腾讯云COS对象存储的上传相关的知识,希望对你有一定的参考价值。
创建腾讯云子用户
创建子用户
登录腾讯云--》控制台--》点击右上角--》访问管理--》用户--》用户列表--》新建用户--》快速创建
如图:用户名,访问方式,用户权限对应创建用户
获取秘钥
创建完会弹出这个窗口,复制秘钥记录下来
创建COS测试用的桶
创建私有桶
控制台--》搜索“对象存储”,进入
存储桶列表--》创建存储桶--》默认下一步--》创建
获取桶名和地域
存储列表--》记录对应的存储桶名称(test007-******)和所属地域(ap-nanjing)
编写python上传脚本
- 基于python2.7
- 安装模块pip install -U cos-python-sdk-v5
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import logging,sys
if len(sys.argv) != 3:
print("输入错误")
print("例子:python2.7 push_file_to_cos.py showdoc 20220417-html.tar.gz")
sys.exit(2)
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性
secret_id = xxxxxx # 替换为用户的 SecretId
secret_key = xxxxxx # 替换为用户的 SecretKey
region = xxxxxx # 替换region(所属地域)
Bucket=xxxxxx # 替换存储桶名称
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入
scheme = https # COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
# 2.配置文件路径,这里使用本地和上传到线上的文件名称一样
dir_name = sys.argv[1] +"/"
file_name = sys.argv[2]
object_key = dir_name + file_name ##假设名字 showdoc/20220417-html.tar.gz,COS桶也会对应创建目录和文件
LocalFilePath = /data/backup/+ file_name ##对应自己的本地文件路径
#### 高级上传接口
# 根据文件大小自动选择简单上传或分块上传,分块上传具备断点续传功能。
response = client.upload_file(
Bucket=Bucket,
LocalFilePath=LocalFilePath,
Key=object_key,
PartSize=10, ##分块大小每份是10M,少于10M就就分1块上传
MAXThread=10,
EnableMD5=True
)
print(response[ETag])
替换上面记录的信息
secret_id = xxxxxx # 替换为用户的 SecretId
secret_key = xxxxxx # 替换为用户的 SecretKey
region = xxxxxx # 替换region(所属地域)
Bucket=xxxxxx # 替换存储桶名称
LocalFilePath = /data/backup/+ file_name ##/data/backup/,对应自己的本地文件路径
上传到COS测试
- 上传到COS
- 查看COS
以上是关于手把手实践腾讯云COS对象存储的上传的主要内容,如果未能解决你的问题,请参考以下文章