欢迎使用腾讯云开发者工具套件(SDK)3.0,SDK3.0是云 API3.0 平台的配套工具。目前已经支持cvm、vpc、cbs等产品,后续所有的云服务产品都会接入进来。新版SDK实现了统一化,具有各个语言版本的SDK使用方法相同,接口调用方式相同,统一的错误码和返回包格式这些优点。 为方便 NODEJS 开发者调试和接入腾讯云产品 API,这里向您介绍适用于 NODEJS 的腾讯云开发工具包,并提供首次使用开发工具包的简单示例。让您快速获取腾讯云 NODEJS SDK 并开始调用。
- NODEJS 7.10.1 版本及以上
- 从腾讯云控制台 开通相应产品
- 获取 SecretID、SecretKey 以及调用地址(endpoint),endpoint 一般形式为*.tencentcloudapi.com,如CVM 的调用地址为 cvm.tencentcloudapi.com,具体参考各产品说明。
安装 NODEJS SDK 前,先获取安全凭证。在第一次使用云API之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。
通过 npm 获取安装是使用 NODEJS SDK 的推荐方法,npm 是 NODEJS 的包管理工具。关于 npm 详细可参考 npm 官网 。
-
中国大陆地区的用户可以使用国内镜像源提高下载速度,例如:
npm config set registry https://mirrors.tencent.com/npm/
-
执行以下安装命令:
npm install tencentcloud-sdk-nodejs --save
-
在您的代码中引用对应模块代码,可参考示例。
- 前往 Github 代码托管地址 下载源码压缩包。
- 解压源码包到您项目合适的位置。
- 在您的代码中引用对应模块代码,可参考示例。
下文以DescribeInstances接口为例。
注意这里需要将导包路径改为真实包路径。
const tencentcloud = require("tencentcloud-sdk-nodejs");
const CvmClient = tencentcloud.cvm.v20170312.Client;
const models = tencentcloud.cvm.v20170312.Models;
const Credential = tencentcloud.common.Credential;
let cred = new Credential("secretId", "secretKey");
let client = new CvmClient(cred, "ap-shanghai");
let req = new models.DescribeZonesRequest();
client.DescribeZones(req, function(err, response) {
if (err) {
console.log(err);
return;
}
console.log(response.to_json_string());
});const tencentcloud = require("tencentcloud-sdk-nodejs");
// 导入对应产品模块的client models。
const CvmClient = tencentcloud.cvm.v20170312.Client;
const models = tencentcloud.cvm.v20170312.Models;
const Credential = tencentcloud.common.Credential;
const ClientProfile = tencentcloud.common.ClientProfile;
const HttpProfile = tencentcloud.common.HttpProfile;
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
let cred = new Credential("secretId", "secretKey");
// 实例化一个http选项,可选的,没有特殊需求可以跳过。
let httpProfile = new HttpProfile();
httpProfile.reqMethod = "POST"; // post请求(默认为post请求)(POST or GET)
httpProfile.reqTimeout = 30; // 请求超时时间,单位为秒(默认60秒)
httpProfile.endpoint = "cvm.ap-shanghai.tencentcloudapi.com"; // 指定接入地域域名(默认就近接入)
// 实例化一个client选项,可选的,没有特殊需求可以跳过。
let clientProfile = new ClientProfile();
clientProfile.signMethod = "TC3-HMAC-SHA256"; // 指定签名算法(默认为HmacSHA256)(HmacSHA1, HmacSHA256)
clientProfile.httpProfile = httpProfile;
// 实例化要请求产品(以cvm为例)的client对象。clientProfile可选。
let client = new CvmClient(cred, "ap-shanghai", clientProfile);
// 实例化一个请求对象,并填充参数
let req = new models.DescribeInstancesRequest();
let filters = {
Filters: [
{
Name: "zone",
Values: ["ap-shanghai-1", "ap-shanghai-2"]
},
{
Name: "instance-charge-type",
Values: ["POSTPAID_BY_HOUR"]
}
]
};
// 传入json参数
req.from_json_string(JSON.stringify(filters));
// 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数
client.DescribeInstances(req, function (err, response) {
// 请求异常返回,打印异常信息
if (err) {
console.log(err);
return;
}
// 请求正常返回,打印response对象
console.log(response.to_json_string());
});更丰富的使用demo请在examples目录中寻找。
如果是有代理的环境下,需要设置系统环境变量 https_proxy ,否则可能无法正常调用,抛出连接超时的异常。
从3.0.224版本开始,支持签名方法 v3。
我们推荐使用新版NODEJS SDK,如果一定要用旧版SDK,请前往github仓库下载。