返回总目录页

限速上传文件到腾讯对象存储cos的脚本

 

官网:https://cloud.tencent.com/document/product/436/12269

 

安装包,这里用的python2.7

# pip install -U cos-python-sdk-v5 -i https://mirrors.tencent.com/pypi/simple/ 

 

脚本:

vim mcw.py

# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import os
import logging

# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
os.environ['COS_SECRET_ID']='Axxxxy'
os.environ['COS_SECRET_KEY']='pxxxjP'
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = os.environ['COS_SECRET_ID']     # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
secret_key = os.environ['COS_SECRET_KEY']   # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
region = 'ap-beijing'      # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
                           # COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224
token = None               # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048
#scheme = 'https'           # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
scheme = 'http'           # 指定使用 http/https 协议来访问 COS,默认为 https,可不填

config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)


import sys
uploadfile=sys.argv[1]
# print(sys.argv[1])
### 高级上传接口(推荐)
# 根据文件大小自动选择简单上传或分块上传,分块上传具备断点续传功能。
response = client.upload_file(
    Bucket='tablxxx2',
    LocalFilePath=uploadfile,
    Key='/sxxxaubak/%s'%uploadfile.split('/')[-1],
    PartSize=1,
    MAXThread=1,
    EnableMD5=False,
    TrafficLimit='2457600'
)
print(response['ETag'])

 

脚本注意修改ak sk region bucket Key也就是backet下目录

指定上传文件:python mcw.py /home/machangwei/mcw.txt
上传到cos位置:tablxxx2:/sxxxaubak/mcw.txt

 

控制台上传参考:https://cloud.tencent.com/document/product/436/13321
API调用上传:https://cloud.tencent.com/document/product/436/14112
这里超过100G的大文件我们建议处理方式是这样的,您参考下

简单上传的方式只支持最大5GB 的文件上传,而通过分块上传的方式可上传大于5GB 的文件。 上面好像是简单上传,要用分块上传

 

posted @ 2024-06-12 13:58  马昌伟  阅读(19)  评论(0编辑  收藏  举报
博主链接地址:https://www.cnblogs.com/machangwei-8/