qcloudapi-sdk-python是为了让Python开发者能够在自己的代码里更快捷方便的使用腾讯云的API而开发的SDK工具包。
- 申请安全凭证。 在第一次使用云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
