tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表
文档云函数

Python

聚焦模式
字号
最后更新时间: 2026-01-07 16:37:08

简介

欢迎使用腾讯云开发者工具套件(SDK)3.0,SDK 3.0 是云 API 3.0 平台的配套工具。SDK 3.0 实现了统一化,各个语言版本的 SDK 具备使用方法相同、接口调用方式相同、错误码和返回包格式相同等优点。
本文以 Python SDK 3.0 为例,介绍如何使用、调试并接入腾讯云产品 API。
目前已支持云服务器 CVM、私有网络 VPC 、云硬盘 CBS 等腾讯云产品,后续会支持其他云产品接入。

依赖环境

Python 2.7,3.6至3.9版本。
获取安全凭证。安全凭证包含 SecretId 及 SecretKey 两部分。SecretId 用于标识 API 调用者的身份,SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。前往 API 密钥管理 页面,即可进行获取,如下图所示:


注意:
您的安全凭证代表您的账号身份和所拥有的权限,等同于您的登录密码,切勿泄露他人。
获取调用地址。调用地址(endpoint)一般形式为*.tencentcloudapi.com,产品的调用地址有一定区别,例如,云服务器的调用地址为cvm.tencentcloudapi.com。具体调用地址可参考对应产品的 API 文档

安装 SDK

方式一、通过 Pip 安装(推荐)

可通过 pip 安装方式将腾讯云 Python SDK 安装至您的项目中。若您的项目环境未安装 pip,请前往 pip 官网 完成安装。 在命令行中执行以下命令,安装 Python SDK。
pip install --upgrade tencentcloud-sdk-python
注意:
若同时具备 python2 及 python3 环境,则需使用 pip3 命令进行安装。
中国大陆地区的用户可以使用国内镜像源提高下载速度,例如:pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python
说明:
如果只想使用某个具体产品的包,例如云服务器 CVM,可以单独安装,但是注意不能和总包同时工作。pip install --upgrade tencentcloud-sdk-python-common tencentcloud-sdk-python-cvm

方式二、通过源码包安装

前往 Github 代码托管地址 下载最新代码,解压后:
$ cd tencentcloud-sdk-python
$ python setup.py install

使用 SDK

以查询实例列表接口为例。
简化版
详细版
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cvm.v20170312 import cvm_client, models

try:
cred = credential.Credential("secretId", "secretKey")
client = cvm_client.CvmClient(cred, "ap-shanghai")

req = models.DescribeInstancesRequest()
resp = client.DescribeInstances(req)

print(resp.to_json_string())
except TencentCloudSDKException as err:
print(err)

# -*- coding: utf-8 -*-
import sys
import logging

from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入对应产品模块的client models。
from tencentcloud.cvm.v20170312 import cvm_client, models

# 导入可选配置类
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
try:
# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
cred = credential.Credential("SecretId", "SecretKey")

# 实例化一个http选项,可选的,没有特殊需求可以跳过。
httpProfile = HttpProfile()
# 如果需要指定proxy访问接口,可以按照如下方式初始化hp
# httpProfile = HttpProfile(proxy="http://用户名:密码@代理IP:代理端口")
httpProfile.protocol = "https" # 在外网互通的网络环境下支持http协议(默认是https协议),建议使用https协议
httpProfile.keepAlive = True # 状态保持,默认是False
httpProfile.reqMethod = "GET" # get请求(默认为post请求)
httpProfile.reqTimeout = 30 # 请求超时时间,单位为秒(默认60秒)
httpProfile.endpoint = "cvm.ap-shanghai.tencentcloudapi.com" # 指定接入地域域名(默认就近接入)

# 实例化一个client选项,可选的,没有特殊需求可以跳过。
clientProfile = ClientProfile()
clientProfile.signMethod = "TC3-HMAC-SHA256" # 指定签名算法
clientProfile.language = "en-US" # 指定展示英文(默认为中文)
clientProfile.httpProfile = httpProfile

# 实例化要请求产品(以cvm为例)的client对象,clientProfile是可选的。
client = cvm_client.CvmClient(cred, "ap-shanghai", clientProfile)

# 打印日志按照如下方式,也可以设置log_format,默认为 '%(asctime)s %(process)d %(filename)s L%(lineno)s %(levelname)s %(message)s'
# client.set_stream_logger(stream=sys.stdout, level=logging.DEBUG)
# client.set_file_logger(file_path="/log", level=logging.DEBUG) 日志文件滚动输出,最多10个文件,单个文件最大512MB
# client.set_default_logger() 去除所有log handler,默认不输出

# 实例化一个cvm实例信息查询请求对象,每个接口都会对应一个request对象。
req = models.DescribeInstancesRequest()

# 填充请求参数,这里request对象的成员变量即对应接口的入参。
# 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义。
respFilter = models.Filter() # 创建Filter对象, 以zone的维度来查询cvm实例。
respFilter.Name = "zone"
respFilter.Values = ["ap-shanghai-2"]
req.Filters = [respFilter] # Filters 是成员为Filter对象的列表

# 通过client对象调用DescribeInstances方法发起请求。注意请求方法名与请求对象是对应的。
# 返回的resp是一个DescribeInstancesResponse类的实例,与请求对象对应。
resp = client.DescribeInstances(req)

# 输出json格式的字符串回包
print(resp.to_json_string(indent=2))

# 也可以取出单个值。
# 你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义。
print(resp.TotalCount)
except TencentCloudSDKException as err:
print(err)

Common Client 调用方式

3.0.396开始,腾讯云 Python SDK 支持使用泛用型的API调用方式(Common Client)进行请求。您只需安装 tencentcloud-sdk-python-common 包,即可向任何产品发起调用。
说明:
您必须明确知道您调用的接口所需参数,否则可能会调用失败。
Common Client 请参见 example

更多示例

您可以在 Github 中 examples 目录下找到更详细的示例。

相关配置

代理

如果是有代理的环境下,可通过以下两种方式设置代理:
在初始化 HttpProfile 时指定 proxy,参考 example
需要设置系统环境变量https_proxy
否则可能无法正常调用,抛出连接超时的异常。

常见问题

证书问题

在 Mac 操作系统安装 Python 3.6 或以上版本时,可能会遇到证书错误:
Error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056).
这是因为在 Mac 操作系统下,Python 不再使用系统默认的证书,且本身也不提供证书。在进行 HTTPS 请求时,需要使用certifi库提供的证书,但 SDK 不支持指定,所以只能使用sudo "/Applications/Python 3.6/Install Certificates.command"命令安装证书才能解决此问题。
虽然 Python 2 版本不应该有上述问题,但在个别用户环境上可能也会存在类似的情况,同样可以通过sudo /Applications/Python 2.7/Install Certificates.command解决。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈