【摘要】
云服务可以将企业所需的软硬件、资料都放到网络上,在任何时间、地点,使用不同的IT设备互相连接,实现数据存取、运算等目的。当前,云服务已经成为时代潮流,常见的云服务有公共云(Public
Cloud)与私有云(Private Cloud)两种。公有云中腾讯云是普及最广的,应用最多的,同时也是API接口最齐全的,支持多种语言调用。
【正文】
腾讯云API接口文档访问地址:https://cloud.tencent.com/document/api
腾讯云提供了丰富的接口,可以通过各种编程语言快捷的条用腾讯云提供的各种服务,腾讯云接口的调用提供两种方式:
n 根据接口文档直接调用(需要自己组合接口调用的验证签名以及公共参数);
n 使用腾讯云开发者工具套件(SDK)调用;
1.
2.
3.
pip install tencentcloud-sdk-python
4.
from tencentcloud.common import credential
from
tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cvm.v20170312 import cvm_client, models
5.
cred =
credential.Credential('AKIDhDcnkVVprc7MODqGIN5k','c*IZaLrBI9mAIK7gz3rPj')
client =
cvm_client.CvmClient(cred,'ap-beijing')
6.
req = models.DescribeRegionsRequest()
resp = client.DescribeRegions(req)
print resp.RegionSet
1.
2.
n 服务地址(接口的访问地址)
n 通信协议(腾讯云
API 的大部分接口都通过HTTPS进行通信)
n 请求方法(支持POST和GET两种请求方式)
n 请求参数(分公共参数和接口请求参数两种:公共参数即使调用某个产品的所有接口都需要提供的参数,接口请求参数是不同接口需要的特定参数)
以下以python调用账号相关类别里的查询项目列表接口为例说明调用方法
1.
2.
data = {'Action': '',
'Nonce': random.randint(10000, 99999),
'Region': 'bj',
'SecretId': 'AKIDhDcnkVVHH0UheQTEE1Yprc7MODqGIN5k',
'Timestamp': int(time.time()),
}
Signature参数需要根据接口调用参数经过签名方法组合生成(可参考:https://cloud.tencent.com/document/api/377/4214)
3.
data = {'Action': 'DescribeProject',
'Nonce': random.randint(10000, 99999),
'Region': 'bj',
'SecretId': 'AKIDhDcnkVVHH0UheQTEE1Yprc7MODqGIN5k',
'Timestamp': int(time.time()),
'allList': 1,
}
url
= 'account.api.qcloud.com/v2/index.php' #(访问地址统一要加后缀/v2/index.php)
4.
5.
signature_old
= ''
for i in sorted(data):
signature_old = signature_old + i + "=" + str(data[i]) + "&"
signature_old =
signature_old[:-1]
query = 'GET' + url + '?' +
signature_old
6.
hmac_str
= hmac.new(secret_key.encode('utf8'), query.encode('utf8'), hashlib.sha1).digest()
signature = base64.b64encode(hmac_str)
7.
data["Signature"] = signature
resp = requests.get('https://' +
url, params=data)