42 lines
2.3 KiB
Python
42 lines
2.3 KiB
Python
# -*- 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)
|
|
|
|
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
|
|
secret_id = 'AKIDDIBrNhoiOtBF5rcEdoBRUKwU2Rj2OgxA' # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
|
|
secret_key = '5wkKhttgYQD2iEZgaInEVYVPCo2BJK9l' # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
|
|
region = 'ap-beijing' #'ap-guangzhou' # 替换为用户的 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,可不填
|
|
|
|
|
|
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
|
|
client = CosS3Client(config)
|
|
|
|
#### 文件流简单上传(不支持超过5G的文件,推荐使用下方高级上传接口)
|
|
# 强烈建议您以二进制模式(binary mode)打开文件,否则可能会导致错误
|
|
with open('out_image.png', 'rb') as fp:
|
|
response = client.put_object(
|
|
Bucket='b-1304254135',
|
|
Body=fp,
|
|
Key='out_image.png',
|
|
StorageClass='STANDARD',
|
|
EnableMD5=False
|
|
)
|
|
print(response['ETag'])
|
|
|
|
|
|
#### 获取文件到本地
|
|
response = client.get_object(
|
|
Bucket='b-1304254135',
|
|
Key='out_image.png'
|
|
)
|
|
response['Body'].get_stream_to_file('cos_girl.png')
|