python sdk for tencent qcloud cos v4.0
Project description
介绍
腾讯云COSv4 的Python SDK, 目前可以支持Python2.6与Python2.7。
安装指南
使用pip安装
pip install -U qcloud_cos_v4
手动安装:
python setup.py install
使用方法
使用python sdk,参照sample.py
# 设置用户属性, 包括appid, secret_id和secret_key
# 这些属性可以在cos控制台获取(https://console.qcloud.com/cos)
appid = 100000 # 替换为用户的appid
secret_id = u'xxxxxxxx' # 替换为用户的secret_id
secret_key = u'xxxxxxx' # 替换为用户的secret_key
region_info = "sh" # # 替换为用户的region,目前可以为 sh/gz/tj/sgp,分别对应于上海,广州,天津,新加坡园区
cos_client = CosClient(appid, secret_id, secret_key, region=region_info)
# 设置要操作的bucket
bucket = u'mybucket'
############################################################################
# 文件操作 #
############################################################################
# 1. 上传文件(默认不覆盖)
# 将本地的local_file_1.txt上传到bucket的根分区下,并命名为sample_file.txt
# 默认不覆盖, 如果cos上文件存在,则会返回错误
request = UploadFileRequest(bucket, u'/sample_file.txt', u'local_file_1.txt')
upload_file_ret = cos_client.upload_file(request)
print 'upload file ret:', repr(upload_file_ret)
# 2. 上传文件(覆盖文件)
# 2.1上传本地文件,将本地的local_file_2.txt上传到bucket的根分区下,覆盖已上传的sample_file.txt
request = UploadFileRequest(bucket, u'/sample_file.txt', u'local_file_2.txt')
request.set_insert_only(0) # 设置允许覆盖
upload_file_ret = cos_client.upload_file(request)
print 'overwrite file ret:', repr(upload_file_ret)
# 2.2从内存上传文件
request = UploadFileFromBufferRequest(bucket, u'/sample_file.txt', data)
request.set_insert_only(0) # 设置允许覆盖
upload_file_ret = cos_client.upload_file_from_buffer(request)
print 'overwrite file ret:', repr(upload_file_ret)
# 3. 获取文件属性
request = StatFileRequest(bucket, u'/sample_file.txt')
stat_file_ret = cos_client.stat_file(request)
print 'stat file ret:', repr(stat_file_ret)
# 4. 更新文件属性
request = UpdateFileRequest(bucket, u'/sample_file.txt')
request.set_biz_attr(u'这是个demo文件') # 设置文件biz_attr属性
request.set_authority(u'eWRPrivate') # 设置文件的权限
request.set_cache_control(u'cache_xxx') # 设置Cache-Control
request.set_content_type(u'application/text') # 设置Content-Type
request.set_content_disposition(u'ccccxxx.txt') # 设置Content-Disposition
request.set_content_language(u'english') # 设置Content-Language
request.set_x_cos_meta(u'x-cos-meta-xxx', u'xxx') # 设置自定义的x-cos-meta-属性
request.set_x_cos_meta(u'x-cos-meta-yyy', u'yyy') # 设置自定义的x-cos-meta-属性
update_file_ret = cos_client.update_file(request)
print 'update file ret:', repr(update_file_ret)
# 5. 更新后再次获取文件属性
request = StatFileRequest(bucket, u'/sample_file.txt')
stat_file_ret = cos_client.stat_file(request)
print 'stat file ret:', repr(stat_file_ret)
# 6. 移动文件, 将sample_file.txt移动位sample_file_move.txt
request = MoveFileRequest(bucket, u'/sample_file.txt', u'/sample_file_move.txt')
stat_file_ret = cos_client.move_file(request)
print 'move file ret:', repr(stat_file_ret)
# 7. 删除文件
request = DelFileRequest(bucket, u'/sample_file_move.txt')
del_ret = cos_client.del_file(request)
print 'del file ret:', repr(del_ret)
# 8. 下载文件
request = DownloadFileRequest(bucket, u'/sample_file_move.txt')
del_ret = cos_client.download_file(request)
print 'del file ret:', repr(del_ret)
# 9. 下载文件到内存
request = DownloadObjectRequest(bucket, u'/sample_file_move.txt')
fp = cos_client.download_object(request)
fp.read()
############################################################################
# 目录操作 #
############################################################################
# 1. 生成目录, 目录名为sample_folder
request = CreateFolderRequest(bucket, u'/sample_folder/')
create_folder_ret = cos_client.create_folder(request)
print 'create folder ret:', create_folder_ret
# 2. 更新目录的biz_attr属性
request = UpdateFolderRequest(bucket, u'/sample_folder/', u'这是一个测试目录')
update_folder_ret = cos_client.update_folder(request)
print 'update folder ret:', repr(update_folder_ret)
# 3. 获取目录属性
request = StatFolderRequest(bucket, u'/sample_folder/')
stat_folder_ret = cos_client.stat_folder(request)
print 'stat folder ret:', repr(stat_folder_ret)
# 4. list目录, 获取目录下的成员
request = ListFolderRequest(bucket, u'/sample_folder/')
list_folder_ret = cos_client.list_folder(request)
print 'list folder ret:', repr(list_folder_ret)
# 5. 删除目录
request = DelFolderRequest(bucket, u'/sample_folder/')
delete_folder_ret = cos_client.del_folder(request)
print 'delete folder ret:', repr(delete_folder_ret)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
qcloud_cos_v4-0.0.22-py2.7.egg
(54.4 kB
view details)
File details
Details for the file qcloud_cos_v4-0.0.22.linux-x86_64.tar.gz
.
File metadata
- Download URL: qcloud_cos_v4-0.0.22.linux-x86_64.tar.gz
- Upload date:
- Size: 44.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4a57133d7cca1d53e62ad11fa6e61e4fdd77634e7d9708d9cff572932e5f56d |
|
MD5 | df45e9b7bbb0d2b8ddb39b955bbdac7d |
|
BLAKE2b-256 | 395352594345d5e7beb3e72f2df2847ec4232149f1f63f5ad31f11e8b7c94d17 |
File details
Details for the file qcloud_cos_v4-0.0.22-py2.7.egg
.
File metadata
- Download URL: qcloud_cos_v4-0.0.22-py2.7.egg
- Upload date:
- Size: 54.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76217e7631d72c7a0a7f044747c587e4575177568a0fa6acf1f006ad3fc8c64f |
|
MD5 | 7793a74b130c1567ab1899f4d51e6e23 |
|
BLAKE2b-256 | e9b067e9c8a2727e36bde87860d6d5520e0c31394ea9f9e0bb9429f44a09b624 |
File details
Details for the file qcloud_cos_v4-0.0.22-py2-none-any.whl
.
File metadata
- Download URL: qcloud_cos_v4-0.0.22-py2-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8812cd3fdc7af240f285a6aafbfc8cef0f5c6525694b827bd521fa75ac7fc925 |
|
MD5 | 3bf2827294d846f4b27111cfaa14c464 |
|
BLAKE2b-256 | b18174862830264f3dc8a8c63f047b9af7202daf9aac47d1d43ec223a623e246 |