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

cos · 浏览次数 : 0

小编点评

本文介绍了如何在腾讯云COS(对象存储服务)上安装SDK并使用Python脚本上传文件。首先,通过官网下载Python SDK并安装。其次,在本地编辑一个名为`mcw.py`的脚本,并导入所需的库以设置COS客户端。接下来,通过设置用户属性和环境变量,包括SecretID、SecretKey和地区等信息。最后,通过调用`client.upload_file()`方法将本地文件上传到COS。 1. 下载并安装Python SDK: 访问腾讯云官方文档(https://cloud.tencent.com/document/product/436/12269),找到相关SDK并进行下载。 2. 编写脚本:创建一个名为`mcw.py`的Python脚本,并编写代码以导入所需的库并设置COS客户端。 - 导入`qcloud_cos`库中的`CosConfig`和`CosS3Client`类。 - 设置用户属性,如SecretId、SecretKey和区域等。 - 配置COS客户端,指定连接协议(默认为HTTPS)、地域、访问密钥等。 3. 上传文件:在脚本中定义一个上传文件的函数,包括以下参数: - `Bucket`: cos存储桶名称,需要提前创建。 - `LocalFilePath`: 本地文件路径。 - `Key`: cos存储桶中的文件名,需包含前缀。 - `PartSize`: 分块上传的分块大小,单位为MB。 - `MAXThread`: 最大同时上传线程数。 - `EnableMD5`: 是否启用MD5校验。 - `TrafficLimit`: 总流量限制,单位为字节。 示例命令:`python mcw.py /home/machangwei/mcw.txt --buckettablxxx2 --key /sxxxaubak/mcw.txt` 4. 运行脚本:在命令行中执行编写的脚本,并将本地文件上传到COS。 通过本文指导,用户可以在COS上安装SDK并根据实际需求上传文件,实现数据存储和访问。

正文

 

官网: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

 

与限速上传文件到腾讯对象存储cos的脚本相似的内容:

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

官网:https://cloud.tencent.com/document/product/436/12269 安装包,这里用的python2.7 # pip install -U cos-python-sdk-v5 -i https://mirrors.tencent.com/pypi/simpl

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译。同时也兼顾了 Sonarqube 作为代码扫描工具。接下来另外一个问题出现了,Azure DevOps 由于有人员限制,项目上不能给非开发人员或者外包成员开权限,这个时候就需要将编译好的程序包上传到公

[转帖]Nginx上传文件大小限制(请求报文过大)413 Request Entity Too Large

在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413 Request Entity Too Large。 于是奇葩的问题被我们遇到了,详细配置请参考下面。我们的问题是,无论client_max_body_size设置在哪里,nginx -s reload后,依

RabbitMQ 3.7.9版本中,Create Channel超时的常见原因及排查方法

在RabbitMQ 3.7.9版本中,Create Channel超时的常见原因及排查方法如下: 常见原因 网络问题: 网络延迟或不稳定可能导致通信超时。 网络分区(network partition)可能导致部分节点无法访问。 资源限制: RabbitMQ服务器上的文件描述符或句柄数量限制。 服务

数据标注工具 doccano | 命名实体识别(Named Entity Recognition,简称NER)

目录安装数据准备创建项目创建抽取式任务上传定义标签构建抽取式任务标签任务标注命名实体识别导出数据查看数据 命名实体识别(Named Entity Recognition,简称NER),是指识别文本中具有特定意义的实体。在开放域信息抽取中,抽取的类别没有限制,用户可以自己定义。 安装 详见:数据标注工

1.8 运用C编写ShellCode代码

在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的`MessageBox`弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现`ShellCode`的编写以外,使用C同样可以实现编写,在多数情况下读者可以直接使用C开发,只有某些环境下对ShellCode条件有极为苛刻的长度限制时才会

1.8 运用C编写ShellCode代码

在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的`MessageBox`弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现`ShellCode`的编写以外,使用C同样可以实现编写,在多数情况下读者可以直接使用C开发,只有某些环境下对ShellCode条件有极为苛刻的长度限制时才会

再聊一下那 SQLSERVER 行不能跨页的事

一:背景 1. 讲故事 上一篇写完了之后,马上就有朋友留言对记录行的 8060byte 限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max),长度很显然是超过 8060byte 的,请问这个底层是怎么破掉 8060byte 的限制的? 说实话这是一个好问题

秒杀系统常见问题—库存超卖

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! # 先看问题 首先上一串代码 ```java public String buy(Long goodsId, Integer goods

限速神器RateLimiter源码解析

作者:京东科技 李玉亮 目录指引 限流场景 软件系统中一般有两种场景会用到限流: •场景一、高并发的用户端场景。 尤其是C端系统,经常面对海量用户请求,如不做限流,遇到瞬间高并发的场景,则可能压垮系统。 •场景二、内部交易处理场景。 如某类交易任务处理时有速率要求,再如上下游调用时下游对上游有速率要