客户案例

 

云API优势

优势 为什么使用云API 控制台Web UI
快速
快速使用云产品

通过云API,只需执行对应API命令行工具即可快速操作云产品

启动慢,需加载

控制台界面需要在浏览器打开,还需要加载网站资源,网络环境差时,使用不便

高效
高效地使用云产品功能

在熟练的情况下,使用一些频繁使用的功能,使用云API可以极大的提高效率

重复工作,效率低下

无论熟悉与否,都需要在界面上执行相同的操作,离不开鼠标

灵活
批处理和操作集成

通过API可以组合功能,实现更高级的功能

功能单一,无法扩展

若想实现复合功能,只能人工逐个使用对应功能

更多

易于自动化, 易于远程调用, 兼容性强,对系统要求低

难以实现自动化,不适用远程调用,需要操作系统界面支持,浏览器有限制

 

快速入门

使用SDK调用API

首先请点击 这里下载腾讯云API 的最新版本 SDK,并将其放入您的代码中,然后按照特定的形式调用接口。

这里以 PHP 语言为例介绍如何使用 SDK:

<?php
require_once './src/QcloudApi/QcloudApi.php';     
//进行用户信息配置
$config = array('SecretId'       => '你的secretId',  
                'SecretKey'      => '你的secretKey',  
                'RequestMethod'  => 'GET', 
                'DefaultRegion'  => '区域参数');
// 第一个参数用来设置调用的模块名,每个模块均有对应的域名如QcloudApi::MODULE_CVM对应cvm.api.qcloud.com,QcloudApi::MODULE_CDB对应cdb.api.qcloud.com等
$service = QcloudApi::load(QcloudApi::MODULE_CVM, $config);
// 具体的接口请求参数,请参考相应接口的API文档说明
$package = array('offset' => 0,
                 'limit' => 3,
                 // 'Region' => 'gz' 
                );
$secretId = '你的secretId';
$service->setConfigSecretId($secretId);
$secretKey = '你的secretKey';
$service->setConfigSecretKey($secretKey);
$region = 'sh';
$service->setConfigDefaultRegion($region);
$method = 'POST';
$service->setConfigRequestMethod($method);
// 发起请求
$a = $service->DescribeInstances($package);
// 您也可以仅生成请求的URL,但不发起请求
$a = $service->generateUrl('DescribeInstances', $package);
if ($a === false) {
    // 请求失败,解析错误信息
    $error = $service->getError();
    echo "Error code:" . $error->getCode() . ' message:' . $error->getMessage();
    // 对于异步任务接口,可以通过下面的方法获取对应任务执行的信息
    $detail = $error->getExt();
} else {
    // 请求成功
    var_dump($a);
}
使用命令行工具CLI调用API

腾讯云命令行工具(CLI)是管理腾讯云资源的统一工具,您可以使用腾讯云命令行工具轻松调用腾讯云API,管理您的腾讯云资源。
您只需要以下三步就能使用 CLI:安装 Python 和 pip;通过 pip 安装 CLI;配置 CLI,设置您的个人信息。

  1. 配置命令行工具
    在第一次使用 qcloudcli 时,您需要配置您的用户信息,命令是 qcloudcli configure。
    示例:
    [root@VM_88_88_linux ~]# qcloudcli configure
    Qcloud API SecretId [****************ugEY]: ****************ugEY
    Qcloud API SecretKey [****************Ewdm]: ****************Ewdm
    Region Id(gz,hk,ca,sh,shjr,bj,sg) [gz]: gz
    Output Format(json,table,text) [json]: json
    

2.购买按量计费云主机示例
创建了一台广州二区(zoneId=100002)的内存为1G(mem=1)的1核(cpu=1)服务器,使用的镜像ID为1,数据盘大小为10G(storageSize=10),该机器创建成功。

[root@VM_88_88_tlinux ~]# qcloudcli cvm RunInstancesHour --zoneId 100002 --cpu 1 --mem 1 --imageId 1 --storageSize 10
{
    "codeDesc": "Success", 
    "message": "", 
    "code": 0, 
    "unInstanceIds": [
        "ins-0pgkyzpq"
    ]
}

3.查看云主机示例
您只需要输入简单的指令:qcloudcli cvm DescribeInstances 就能获得您账户下所有云主机实例的信息了。

[root@VM_34_81_tlinux ~]# qcloudcli cvm DescribeInstances --instanceIds '["ins-0pgkyzpq"]'
{
    "codeDesc": "Success", 
    "totalCount": 1, 
    "message": "", 
    "code": 0, 
    "instanceSet": [
        {
            "lanIp": "10.135.44.108", 
      ......
      ......
使用云API直接请求

下面给出一个典型的API请求示例:

https://cvm.api.qcloud.com/v2/index.php?
Action=DescribeInstances             //请求接口名
&SecretId=xxxxxxx       //用户密钥Id
&Region=gz          //区域参数,用来标识希望操作哪个区域的实例
&Timestamp=1465055529       //请求时间戳
&Nonce=59485            //随机正整数,与 Timestamp 联合起来, 用于防止重放攻击
&Signature=mysignature      //请求签名,用来验证此次请求的合法性,具体可参考 签名方法 页面
&instanceIds.0=ins-jyqfyq1w //具体的接口请求参数,详见具体接口的API文档描述
&offset=0
&limit=20
&status=2
&zoneId=100002

返回结果示例:
正确返回:
正确返回结果中的 code 为 0,message 为空,codeDesc为Success:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "totalCount": 2,
    "instanceSet": [
        {
            "instanceName": "yourinstanceName",
            "uuid": "xxxx",
            "instanceId": "xxxx",
            "lanIp": "xx.xx.xx.xx",
            "wanIpSet": [
                "xx.xx.xx.xx"
            ],
            "cpu": 1,
            "mem": 1,
            "diskInfo": {
                "rootSize": 20,
                "rootType": 2,
                "rootId": "disk-12345677"
            },
            "bandwidth": 1,
              ......
              ......
        },
    ]
}

错误返回:
错误返回结果中的 code 不为 0,您可以在 API 公共错误码页面找到对应的错误描述;message 更加详细地描述了该错误;codeDesc 则是该错误的英文描述。

{
    "code": 4000,
    "message": "(4000)请求失败,参数错误:[offset]",
    "codeDesc": "InvalidParameter"
}