Python使用腾讯云SDK实现对象存储(上传文件、创建桶)
文章目录
- 1. 开通服务
- 2. 创建存储桶
- 3. 手动上传文件并查看
- 4. python上传文件
- 4.1 找到sdk文档
- 4.2 初始化代码
- 4.3 region获取
- 4.4 secret_id和secret_key获取
- 4.5 上传对象代码
- 4.6 python实现上传文件
- 5 python创建桶
首先来到腾讯云官网
https://cloud.tencent.com/
1. 开通服务

来到如下页面



2. 创建存储桶


根据自己的需要进行选择


创建好后就会来到这个页面

3. 手动上传文件并查看
点击“上传图片”

上传完成后继续点击




4. python上传文件
4.1 找到sdk文档





然后我们就可以看到对象存储SDK的使用文档了,跟着它一步一步做就能实现。
下面直接介绍代码:
终端安装sdkpip install -U cos-python-sdk-v5
4.2 初始化代码
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import os# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
region = 'ap-beijing' # 替换为用户的 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)
上面需要做改动的就只有secret_id、secret_key和region
4.3 region获取
region就是下面这个东西(就是你在创建桶时选择的区域,我上面选择的是中国-重庆)

4.4 secret_id和secret_key获取

这里会跳出一个框框,选择继续使用就好

点击新建密钥
注意:密钥不能公开,只能自己知道。

4.5 上传对象代码
这只是上传文件的其中一部分代码,不要混淆
#### 高级上传接口(推荐)
# 根据文件大小自动选择简单上传或分块上传,分块上传具备断点续传功能。
response = client.upload_file( Bucket='examplebucket-1250000000', # 桶的名字 LocalFilePath='local.txt', # 本地文件路径Key='picture.jpg', # 上传到桶之后的文件名# 后面这三个是参数的默认值,可以删了PartSize=1,MAXThread=10,EnableMD5=False
)
print(response['ETag'])

4.6 python实现上传文件
纯净版代码:
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Clientsecret_id = '填入你的id'
secret_key = '填入你的key'
region = 'ap-chongqing' token = None
scheme = 'https' config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)response = client.upload_file(Bucket='ly-1321630892', # 桶的名字LocalFilePath='02.jpg', # 本地文件路径Key='02.jpg', # 上传到桶之后的文件名
)
print(response['ETag'])
执行代码后去腾讯查看

5 python创建桶
这是sdk文档的内容,其实相对于上传文件的代码,就只改变了最后一点response等于的那里。
# -*- 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 = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
region = 'ap-beijing' # 替换为用户的 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)response = client.create_bucket(Bucket='examplebucket-1250000000'
)
纯净版:
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Clientsecret_id = '--'
secret_key = '--'
region = 'ap-chengdu'# 这两个也是参数的默认值,可以去掉
token = None
scheme = 'https' # 去掉后下面这里传参的时候也要去掉
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)response = client.create_bucket(Bucket='test-1250000000', # 存储桶的名称ACL='public-read' # 访问权限 有 private/public-read/public-read-write
)
执行多次一直出现下面这个报错。
报错:
qcloud_cos.cos_exception.CosServiceError: {'code': 'AccessDenied', 'message': 'Access Denied.', 'resource': '/', 'requestid': 'NjU0ZGQwODdfZmNiNTU4NjRfMWFkNV83ZThkZmE1', 'traceid': 'OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTA2NzIxMzRkNDExNDJiYWZmM2ExNTVhMjIxMzhjNDI2M2YzZjRmYTFmYjgxMGRlNzZmMDhlZTgzMjhmODA1Mjc='}
查了后发现是Bucket后面那一串数字没有改,应该用自己的。在创建存储桶那里可以看到

创建桶的最终代码:
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Clientsecret_id = '--'
secret_key = '--'
region = 'ap-chengdu'token = None
scheme = 'https'config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)response = client.create_bucket(Bucket='test-1321630892',ACL='public-read'
)
print(response)

相关文章:
Python使用腾讯云SDK实现对象存储(上传文件、创建桶)
文章目录 1. 开通服务2. 创建存储桶3. 手动上传文件并查看4. python上传文件4.1 找到sdk文档4.2 初始化代码4.3 region获取4.4 secret_id和secret_key获取4.5 上传对象代码4.6 python实现上传文件 5 python创建桶 首先来到腾讯云官网 https://cloud.tencent.com/1. 开通服务 来…...
Springboot整合Jedis实现单机版或哨兵版可切换配置
Springboot整合Jedis实现单机版或哨兵版可切换配置 前言实现最后 前言 前文写到借助redis实现Shiro实现session限制登录数量踢人下线,本文就写一下Jedis的配置,可切换单机版和集群哨兵版,方便开发测试。 实现 很简单,直接上代码&…...
lenovo联想小新 Air-14 2019 AMD平台API版(81NJ)原装出厂Windows10系统
下载链接:https://pan.baidu.com/s/1HCC66EH4UOcgofRx5_v1oA?pwdlgqw 提取码:lgqw 原厂系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式…...
特殊矩阵的压缩存储(对称矩阵,三角矩阵,三对角矩阵,稀疏矩阵)
目录 1.数组的存储结构1.—维数组2.二维数组1.行优先存储2.列优先存储 2.特殊矩阵1.对称矩阵1.行优先存储 2.三角矩阵1.上三角矩阵2.下三角矩阵 3.三对角矩阵(带状矩阵)4.稀疏矩阵 1.数组的存储结构 1.—维数组 各数组元素大小相同,且物理上…...
DDU框架学习之路
目录 MVVM对比 DDU 数据消费者UI 数据的转换者:Domain Layer 数据图生产者/提供者 DataLayer 遵循原理: 单一数据流: Android官方推荐架构:DDU MVVM对比 M:Model 网络层 用于获取远端数据 VM:ViewModel 中间转…...
进阶课6——基于Seq2Seq的开放域生成型聊天机器人的设计和开发流程
情感聊天机器人通常属于开放领域,用户可以与机器人进行各种话题的互动。例如,微软小冰和早期的AnswerBus就是这种类型的聊天机器人。基于检索的开放领域聊天机器人需要大量的语料数据,其开发流程与基于任务型的聊天机器人相似,而基…...
Java面试题04
1.Array 和 ArrayList 有何区别? Array是固定长度的,元素类型可以是基本类型,创建后大小不可改变;ArrayList是可变长 度的,只能存储对象,可以动态添加和删除元素。 区别1: 存储类型不同 …...
海康Visionmaster-通讯管理:使用 Modbus TCP 通讯 协议与流程交互
使用 Modbus TCP 通讯协议与视觉通讯,当地址为 0000 的保持型寄存器(4x 寄存器)变为 1 时,触发视觉流程执行一次,同时视觉将地址为 0000 的寄存器复位(也即写为 0),视觉流程执行完成后,将结果数…...
assimp中如何判断矩阵是否是单位矩阵
对于一个矩阵元素为浮点型的矩阵,你是否还在使每个元素跟1.0f或0.0f进行比较,如果这样,只能说你的结果不一定正确,那我们看看assimp中是如何做的。 template <typename TReal> AI_FORCE_INLINE bool aiMatrix4x4t<TReal…...
大数据Doris(二十):数据导入(Broker Load)介绍
文章目录 数据导入(Broker Load)介绍 一、适用场景...
Docker快速安装kafka
创建zk docker run -d --name zookeeper-server \-e ALLOW_ANONYMOUS_LOGINyes \bitnami/zookeeper:latest创建kafka docker run -d --name kafka-server \-p 9092:9092 \-e ALLOW_PLAINTEXT_LISTENERyes \-e KAFKA_CFG_ZOOKEEPER_CONNECTzookeeper-server:2181 \-e KAFKA_CF…...
ChatGPT是什么?黑客试图淹没其服务
上线2个月,月活跃用户破亿,媒体人用它编辑文案,学生用它写作业,程序员用它编辑代码, 它是谁呢? 它就是火爆全网(chatgpt),chatgpt是什么呢,chatgpt是美国研发的一款人工…...
【Java 进阶篇】Java Web 开发之 Listener 篇:ServletContextListener 使用详解
欢迎大家来到 Java Web 开发的学习之旅!在前面的博客中,我们已经学习了 Servlet、JSP、Filter 等重要的概念和技术。今天,我们将深入探讨 Java Web 开发中另一个重要的组成部分——Listener(监听器),具体来…...
[C/C++]数据结构 链表OJ题:环形链表(如何判断链表是否有环)
题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…...
c#流程控制
c#分支语句 namespace ConsoleApp1 {internal class Program{static void Main(string[] args){Console.WriteLine("请输入学生成绩");string sConsole.ReadLine();int aint.Parse(s);//将字符类型强制转换为int类型if (a > 90){ Console.WriteLine("成绩优…...
基于SSM的学生二手书籍交易平台的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
xcode-工程设置
build settings Deployment Postprocessing 用于指定是否在构建完成后进行一些部署相关的处理。 当你在 Xcode 中构建你的应用程序时,构建设置决定了一些行为,其中一项是是否启用 Deployment Postprocessing。这个选项的主要作用是在构建完成后&#…...
Milvus Cloud——LLM Agent 现阶段出现的问题
LLM Agent 现阶段出现的问题 由于一些 LLM(GPT-4)带来了惊人的自然语言理解和生成能力,并且能处理非常复杂的任务,一度让 LLM Agent 成为满足人们对科幻电影所有憧憬的最终答案。但是在实际使用过程中,大家逐渐发现了通…...
百度智能云千帆大模型平台再升级,SDK版本开源发布!
SDK 前言一、SDK的优势二、千帆SDK:快速落地LLM应用三、如何快速上手千帆SDK1、SDK快速启动快速安装平台鉴权如何获取AK/SK以“Chat 对话”为调用示例 2. SDK进阶指引3. 通过Langchain接入千帆SDK为什么选择Langchain 开源社区 前言 百度智能云千帆大模型平台再次升…...
按键精灵中的数据类型转换
按键精灵中的数据类型有:整型、浮点数、布尔类型、字符串、数组这几种类型,主要的转换方式有以下这几种方式: 1. 转布尔类型 CBool Dim A 5 Dim B CBool(A)TracePrint B // true 2. 转字符串类型 CStr Dim MyInteger 437Dim MyStr…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
C++11 constexpr和字面类型:从入门到精通
文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...
Docker、Wsl 打包迁移环境
电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本: 2.2.4.0 内核版本: 5.15.153.1-2 WSLg 版本: 1.0.61 MSRDC 版本: 1.2.5326 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.2609…...
