为了减少项目运行的服务器压力,文件存储会单独找一台独立的服务,即文件存储或对象存储
对象存储和文件存储的差别
文件存储类似文件夹目录对象存储没有文件夹概念,内部进行了优化使用方法开通对象存储(以腾讯为例),进入后台https://console.cloud.tencent.com/cos5
创建桶,选择公有读私有写
通过python实现上传文件到储存桶
找到python sdk 安装pip install -U cos-python-sdk-v5
初始化# -*- Coding=utf-8# appID 已在配置中移除,请在参数 Bucket 中带上 appID。Bucket 由 Bucketname-APPID 组成# 1. 设置用户配置, 包括 secretID,secretKey 以及 Regionfrom qcloud_cos import CosConfigfrom qcloud_cos import CosS3ClIEntimport sys<!--import logging--><!--logging.basicConfig(level=logging.INFO, stream=sys.stdout)-->secret_ID = 'COS_SECRETID' # 替换为用户的 secretIDsecret_key = 'COS_SECRETKEY' # 替换为用户的 secretKeyregion = 'ap-shanghai' # 替换为用户的 Regiontoken = None # 使用临时密钥需要传入 Token,默认为空,可不填scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretID=secret_ID, SecretKey=secret_key, Token=token, Scheme=scheme)# 2. 获取客户端对象clIEnt = CosS3ClIEnt(config)# 参照下文的描述。或者参照 Demo 程序,详见 https://github.com/tencentyun/cos-python-sdk-v5/blob/master/qcloud_cos/demo.py
创建桶(可以代替上面网站手动添加)
response = clIEnt.create_bucket( Bucket='examplebucket-1250000000')
查询桶
response = clIEnt.List_buckets()
上传对象
#### 高级上传接口(推荐)# 根据文件大小自动选择简单上传或分块上传,分块上传具备断点续传功能。response = clIEnt.upload_file( Bucket='young-1300539838', # 桶的名称 LocalfilePath='local.txt', # 本地文件路径 Key='picture.jpg', # 上传到桶之后的文件名 # 以下可选参数 PartSize=1, MAXThread=10, EnableMD5=False)print(response['ETag'])
上传文件DEMO
# -*- Coding=utf-8# appID 已在配置中移除,请在参数 Bucket 中带上 appID。Bucket 由 Bucketname-APPID 组成# 1. 设置用户配置, 包括 secretID,secretKey 以及 Regionfrom qcloud_cos import CosConfigfrom qcloud_cos import CosS3ClIEntimport sys# import logging# logging.basicConfig(level=logging.INFO, stream=sys.stdout)secret_ID = '用自己的secret_ID' # 替换为用户的 secretIDsecret_key = '用自己的secret_key' # 替换为用户的 secretKeyregion = '用自己桶的region' # 替换为用户的 Region# token = None # 使用临时密钥需要传入 Token,默认为空,可不填# scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretID=secret_ID, SecretKey=secret_key)# 2. 获取客户端对象clIEnt = CosS3ClIEnt(config)# 参照下文的描述。或者参照 Demo 程序,详见 https://github.com/tencentyun/cos-python-sdk-v5/blob/master/qcloud_cos/demo.pyresponse = clIEnt.upload_file( Bucket='young-1300539838', # 桶的名称 LocalfilePath='add_new_price.py', # 本地文件路径 Key='add_new_price.py', # 上传到桶之后的文件名 # 以下可选参数 PartSize=1, MAXThread=10, EnableMD5=False)print(response['ETag'])
总结 以上是内存溢出为你收集整理的基于python实现腾讯对象存储cos全部内容,希望文章能够帮你解决基于python实现腾讯对象存储cos所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)