QcloudApi / qcloudapi-sdk-python

Tencent Cloud SDK for Python
https://cloud.tencent.com/
Other
182 stars 70 forks source link

pypi version Build Status Coverage Status

qcloudapi-sdk-python

qcloudapi-sdk-python是为了让Python开发者能够在自己的代码里更快捷方便的使用腾讯云的API而开发的SDK工具包。

资源

入门

  1. 申请安全凭证。 在第一次使用云API之前,用户首先需要在腾讯云网站上申请安全凭证,安全凭证包括 SecretId 和 SecretKey, SecretId 是用于标识 API 调用者的身份,SecretKey是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。

安装

$ pip install qcloudapi-sdk-python

或者下载源码安装

$ git clone https://github.com/QcloudApi/qcloudapi-sdk-python
$ cd qcloudapi-sdk-python
$ python setup.py install

示例

# -*- coding: utf8 -*-
from QcloudApi.qcloudapi import QcloudApi

# 设置需要加载的模块
module = 'cvm'

# 对应接口的接口名,请参考wiki文档上对应接口的接口名
action = 'DescribeInstances'

# 云API的公共参数
config = {
    'Region': 'ap-guangzhou',
    'secretId': '您的secretId',
    'secretKey': '您的secretKey',
    'method': 'GET',
    'SignatureMethod': 'HmacSHA1',
    # 只有cvm需要填写version,其他产品不需要
    'Version': '2017-03-12'
}

# 接口参数,根据实际情况填写,支持json
# 例如数组可以 "ArrayExample": ["1","2","3"]
# 例如字典可以 "DictExample": {"key1": "value1", "key2": "values2"}
action_params = {
    'Limit':1,
}

try:
    service = QcloudApi(module, config)

    # 请求前可以通过下面几个方法重新设置请求的secretId/secretKey/Region/method/SignatureMethod参数
    # 重新设置请求的Region
    #service.setRegion('ap-shanghai')

    # 打印生成的请求URL,不发起请求
    print(service.generateUrl(action, action_params))
    # 调用接口,发起请求,并打印返回结果
    print(service.call(action, action_params))
except Exception as e:
    import traceback
    print('traceback.format_exc():\n%s' % traceback.format_exc())

模块对照表

每个产品都有自己的独立域名,例如云服务器对应的域名为 cvm.api.qcloud.com ,一般域名的第一段对应产品名的缩写(特殊情况会另行说明),此例中为 cvm 。在 SDK 中,产品名缩写对应为模块名,放置于 QcloudApi/modules 目录下(base.py 例外,它是基类),对于没有在 modules 目录列出的产品,依然可以使用。例如在 tests/integration/ckafka 目录下的测试文件 test_list_instance.py ,表明了调用未显式注册的产品也可以被正常使用,前提是使用产品名和域名首段一致,如果不一致,则以域名首段为准,在使用cmq的产品时将会发生这种情况。

以下列出目前已经显式支持或者可以动态支持的产品列表,顺序依照官网 API 文档的权重。有些产品已经支持或者部分支持 API 3.0 ,在表格中有注明,建议用户使用 API 3.0 对应的 SDK

请注意,并非所有腾讯云上的产品都支持腾讯云 API ,有部分产品例如对象存储服务( COS )有自己独立的 API 和 SDK ,详情请咨询对应产品的技术支持人员。

部分产品根据自身业务特点,拆分成多个服务,其调用域名根据功能而不同,此种情况下模块名会有多个,请配合官网文档进行使用,本文档不另作说明了。

以下信息更新于2018-09-25

产品中文名 模块名 显式支持 支持 API 3.0 备注
云服务器 cvm、image、dfw、eip
云硬盘 cbs、snapshot
黑石物理服务器 bm、bmlb、bmeip、bmvpc 部分
容器服务 ccs、ccr
弹性伸缩 scaling
负载均衡 lb
无服务器云函数 scf 部分
私有网络 vpc
批量计算 batch
API网关 apigateway
专线接入 dc
动态加速网络 dsa
消息队列 CKafka ckafka
消息队列 IoT MQ mqiot
消息队列 CMQ cmq-queue-{REGION} 产品域名不固定,和区域有关
数据库 MySQL cdb
数据库 MariaDB(TDSQL) tdsql
数据库 SQL Server sqlserver
内容分发网络 cdn
弹性缓存 Redis redis 部分
弹性缓存 Memcached cmem
文档数据库 MongoDB mongodb
云监控 monitor
TBaaS tbaas
访问管理 cam、sts 部分
大禹网络安全 bgpip、shield 部分
天御业务安全防护 sec 产品域名为 csec
云审计 cloudaudit
云解析 cns
SSL 证书 wss
云搜 yunsou
文智自然语言处理 wenzhi
点播 vod
云市场 market
直播 live 部分
腾讯机器翻译 tmt
物联网通信 iotcloud
弹性 Mapreduce emr
账号相关 trade、tag、account、feecenter 部分
渠道合作伙伴 partners
金融智能客服 athena