
*.tencentcloudapi.com,产品的调用地址有一定区别,例如,云服务器的调用地址为cvm.tencentcloudapi.com。具体调用地址可参考对应产品的 API 文档。ubuntusudo apt-get install cmakecentosyum install cmake3
ubuntusudo apt-get install libcurl4-openssl-devcentosyum install libcurl-devel
ubuntusudo apt-get install libssl-devcentosyum install openssl-devel
ubuntusudo apt-get install uuid-devcentosyum install libuuid-devel
path/to/是指 tencentcloud-sdk-cpp 包的实际路径。cd <path/to/tencentcloud-sdk-cpp>mkdir sdk_buildcd sdk_buildcmake ..makesudo make install
#include <tencentcloud/core/TencentCloud.h>#include <tencentcloud/core/Credential.h>#include <tencentcloud/cvm/v20170312/CvmClient.h>#include <tencentcloud/cvm/v20170312/model/DescribeInstancesRequest.h>#include <tencentcloud/cvm/v20170312/model/DescribeInstancesResponse.h>#include <tencentcloud/cvm/v20170312/model/Instance.h>#include <iostream>#include <string>using namespace TencentCloud;using namespace TencentCloud::Cvm::V20170312;using namespace TencentCloud::Cvm::V20170312::Model;using namespace std;int main(){TencentCloud::InitAPI();string secretId = "<your secret id>";string secretKey = "<your secret key>";Credential cred = Credential(secretId, secretKey);DescribeInstancesRequest req = DescribeInstancesRequest();CvmClient cvm_client = CvmClient(cred, "ap-guangzhou");auto outcome = cvm_client.DescribeInstances(req);if (!outcome.IsSuccess()){cout << outcome.GetError().PrintAll() << endl;TencentCloud::ShutdownAPI();return -1;}DescribeInstancesResponse rsp = outcome.GetResult();cout<<"RequestId="<<rsp.GetRequestId()<<endl;cout<<"TotalCount="<<rsp.GetTotalCount()<<endl;if (rsp.InstanceSetHasBeenSet()){vector<Instance> instanceSet = rsp.GetInstanceSet();for (auto itr=instanceSet.begin(); itr!=instanceSet.end(); ++itr){cout<<(*itr).GetPlacement().GetZone()<<endl;}}TencentCloud::ShutdownAPI();return 0;}
#include <tencentcloud/core/TencentCloud.h>#include <tencentcloud/core/profile/HttpProfile.h>#include <tencentcloud/core/profile/ClientProfile.h>#include <tencentcloud/core/Credential.h>#include <tencentcloud/core/NetworkProxy.h>#include <tencentcloud/core/AsyncCallerContext.h>#include <tencentcloud/cvm/v20170312/CvmClient.h>#include <tencentcloud/cvm/v20170312/model/DescribeInstancesRequest.h>#include <tencentcloud/cvm/v20170312/model/DescribeInstancesResponse.h>#include <tencentcloud/cvm/v20170312/model/Instance.h>#include <iostream>#include <string>using namespace TencentCloud;using namespace TencentCloud::Cvm::V20170312;using namespace TencentCloud::Cvm::V20170312::Model;using namespace std;int main(){TencentCloud::InitAPI();// use the sdk// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密string secretId = "<your secret id>";string secretKey = "<your secret key>";Credential cred = Credential(secretId, secretKey);// 实例化一个http选项,可选的,没有特殊需求可以跳过。HttpProfile httpProfile = HttpProfile();httpProfile.SetKeepAlive(true); // 状态保持,默认是FalsehttpProfile.SetEndpoint("cvm.ap-guangzhou.tencentcloudapi.com"); // 指定接入地域域名(默认就近接入)httpProfile.SetReqTimeout(30); // 请求超时时间,单位为秒(默认60秒)httpProfile.SetConnectTimeout(30); // 响应超时时间,单位是秒(默认是60秒)ClientProfile clientProfile = ClientProfile(httpProfile);DescribeInstancesRequest req = DescribeInstancesRequest();Filter respFilter;respFilter.SetName("zone");respFilter.SetValues({ "ap-guangzhou-1", "ap-guangzhou-2" });req.SetFilters({ respFilter });req.SetOffset(0);req.SetLimit(5);CvmClient cvm_client = CvmClient(cred, "ap-guangzhou", clientProfile);// set proxy// NetworkProxy proxy = NetworkProxy(NetworkProxy::Type::HTTP, "localhost.proxy.com", 8080);// cvm_client.SetNetworkProxy(proxy);auto outcome = cvm_client.DescribeInstances(req);if (!outcome.IsSuccess()){cout << outcome.GetError().PrintAll() << endl;TencentCloud::ShutdownAPI();return -1;}DescribeInstancesResponse rsp = outcome.GetResult();cout<<"RequestId="<<rsp.GetRequestId()<<endl;cout<<"TotalCount="<<rsp.GetTotalCount()<<endl;if (rsp.InstanceSetHasBeenSet()){vector<Instance> instanceSet = rsp.GetInstanceSet();for (auto itr=instanceSet.begin(); itr!=instanceSet.end(); ++itr){cout<<(*itr).GetPlacement().GetZone()<<endl;}}TencentCloud::ShutdownAPI();return 0;}
cd example/cvm/v20170312mkdir buildcd buildcmake ..make./DescribeInstances
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH./DescribeInstances
git clone https://github.com/google/googletestcd googletestcmake CMakeLists.txtmake
sh function_test.sh
https_proxy(已在示例代码中体现),否则可能出现无法正常调用,抛出连接超时异常的现象。文档反馈