当前位置: 首页>数据库>正文

NodeJS之腾讯云SDK对接

背景

之前在证书运维项目中,考虑用 用纯 NodeJS 改造一下项目(原项目中使用了shell 方式,技术栈不够纯粹)对接腾讯云 DNS 进行证书生成的校验,最后由于限制没有采用此方案。但是对接过程中的经验还是值得记录的。

源码Demo

证书运维项目已开源,欢迎查看 Wobhot-Cert,在 server/service/DNSPod

API文档

腾讯云文档 非常全,但想找到内容需要有一定的运维知识
腾讯云SDK中心 主要是记录了SDK 包名,同时里面也有各个版本的文档

NodeJS SDK

NodeJS SDK文档地址,Demo是比较详细的,主要是里面一些参数查找的位置比较模糊,下面就针对这些模糊的做一下说明。

const tencentcloud = require("tencentcloud-sdk-nodejs")
// typescript 引入
// import * as tencentcloud from "tencentcloud-sdk-nodejs"
// const CvmClient = tencentcloud.cvm.v20170312.Client

// ...

// 导入对应产品模块的client models。
const CvmClient = tencentcloud.cvm.v20170312.Client

// 实例化要请求产品(以cvm为例)的client对象
const client = new CvmClient({
  // 为了保护密钥安全,建议将密钥设置在环境变量中或者配置文件中,请参考本文凭证管理章节。
  // 硬编码密钥到代码中有可能随代码泄露而暴露,有安全隐患,并不推荐。
  credential: {
    secretId: process.env.TENCENTCLOUD_SECRET_ID,
    secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
  },
  // 产品地域
  region: "ap-shanghai",
  // 可选配置实例
  profile: {
    signMethod: "TC3-HMAC-SHA256", // 签名方法
    httpProfile: {
      reqMethod: "POST", // 请求方法
      reqTimeout: 30, // 请求超时时间,默认60s
      // proxy: "http://127.0.0.1:8899" // http请求代理
    },
  },
})
// 通过client对象调用想要访问的接口(Action),需要传入请求对象(Params)以及响应回调函数
// 即:client.Action(Params).then(res => console.log(res), err => console.error(err))
// 如:查询云服务器可用区列表
client.DescribeZones().then(
  (data) => {
    console.log(data)
  },
  (err) => {
    console.error("error", err)
  }
)

从上面的 例子中可以看出,其实就 const CvmClient = tencentcloud.cvm.v20170312.Client 中的 cvm , v20170312 有点没有头绪。

cvm

可从腾讯云SDK中心 中查找,其实就是云服务器的SDK包名字

v20170312

指代具体需要调用的接口的版本,具体位置可从接口位置查看


NodeJS之腾讯云SDK对接,第1张

不同内容的版本会有差异,如 DNSPod 就是 v20210323

NodeJS之腾讯云SDK对接,第2张

NodeJS之腾讯云SDK对接,第3张

https://www.xamrdz.com/database/6d21997194.html

相关文章: