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'this is demo file') # 设置文件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'this is a test folder') # biz_attr不支持中文
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 Distribution
File details
Details for the file qcloud_cos_v4-0.0.23.linux-x86_64.tar.gz
.
File metadata
- Download URL: qcloud_cos_v4-0.0.23.linux-x86_64.tar.gz
- Upload date:
- Size: 44.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c63fa0d02a9d1f1242376904028640e481f93ad021322ecb4011c46e3691d0 |
|
MD5 | d7241633c3615edc8a5883f4cd3e9327 |
|
BLAKE2b-256 | bbb9426af351451a8ac816ca1794ac1b97d45ce211e59eb242abcee58cb43383 |
File details
Details for the file qcloud_cos_v4-0.0.23-py2-none-any.whl
.
File metadata
- Download URL: qcloud_cos_v4-0.0.23-py2-none-any.whl
- Upload date:
- Size: 25.6 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882c3858dc4a26703a73e646c0bdb32b2a92ab3cadd8e7aca9322959969d5fc8 |
|
MD5 | d9c00ce5922e29e63945a319bc3e92d4 |
|
BLAKE2b-256 | 66dadc7b712de92a5033925f7661baaa9297f86eba84a6b320f6e10af094efc1 |