基础

梗概

使用指南

简单梗概

  • 每个用户一个桶(存储空间)
    • 配置id和key
  • 可以为桶配置地理位置

示例

上传文件

from qcloud_cos import CosConfig, CosS3Client
import sys
import logging
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 设置用户配置
secret_id = 'AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxx'      # 替换为用户的secret_id
secret_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'     # 替换为用户的secret_key
region = 'ap-guangzhou'                             # 替换为用户的地域
token = None                                        # 使用临时密钥需要传入Token,默认为空,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token)
client = CosS3Client(config)
# 上传文件
response = client.upload_file(
    Bucket='examplebucket-1250000000',  # 替换为用户的Bucket
    LocalFilePath='local-file.jpg',     # 替换为本地文件路径
    Key='exampleobject.jpg',            # 上传至COS后的对象键
)
print(response['ETag'])

下载文件

# 下载文件
response = client.download_file(
    Bucket='examplebucket-1250000000',  # 替换为用户的Bucket
    Key='exampleobject.jpg',            # 替换为用户的对象键
    DestFilePath='downloaded-file.jpg'  # 下载到本地的文件路径
)
print("Download Successful")

删除文件

# 删除文件
response = client.delete_object(
    Bucket='examplebucket-1250000000',  # 替换为用户的Bucket
    Key='exampleobject.jpg'             # 替换为用户的对象键
)
print("Delete Successful")

设置访问控制

# 设置文件为公开读
acl = client.put_object_acl(
    Bucket='examplebucket-1250000000',  # 替换为用户的Bucket
    Key='exampleobject.jpg',            # 替换为用户的对象键
    ACL='public-read'                   # 设置ACL,public-read表示公开读
)
print("ACL Set Successful")
# 获取文件的ACL
acl = client.get_object_acl(
    Bucket='examplebucket-1250000000',  # 替换为用户的Bucket
    Key='exampleobject.jpg'             # 替换为用户的对象键
)
print(acl)