初始化
@Cloudbase/node-sdk 让您可以在服务端使用 Node.js 服务访问 Cloudbase 服务和资源
⚠️ 注意:从 v3 版本开始,如在初始化
init({})未指定env参数,则默认使用当前云函数环境 ID,不再使用云开发默认环境。如需要使用云开发默认环境,可以指定init({env: tcb.SYMBOL_DEFAULT_ENV})。
安装 SDK
# npm
npm install @cloudbase/node-sdk -S
# yarn
yarn add @cloudbase/node-sdk
初始化 SDK
基本用法
import tcb from '@cloudbase/node-sdk'
// 云函数环境使用 commonjs 引入方式
// const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({
env: "your-env-id", // 替换为您的环境 ID
})
初始化参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
env | string | 否 | TCB 环境 ID |
secretId | string | 否 | 腾讯云 API 固定密钥对 secretId,前往 腾讯云控制台/API密钥管理 生成 |
secretKey | string | 否 | 腾讯云 API 固定密钥对 secretKey,前往 腾讯云控制台/API密钥管理 生成 |
sessionToken | string | 否 | 腾讯云 API 临时密钥对 Token,通过 申请扮演角色临时访问凭证 接口获取 |
credentials | object | 否 | Cloudbase 私钥,包含 private_key 和 private_key_id 两个字符串,用于自定义登录场景签发ticket 登录 云开发平台/身份认证/登录方式,通过自定义登录「私钥下载」获取 |
context | Context | 否 | 函数型云托管入口函数 context 参数,用于云托管场景的免签名调用 |
timeout | number | 否 | 调用接口的超时时间(ms),默认为 15000ms,即 15s |
proxy | string | 否 | 调用接口时使用的 http 代理 url |
version | string | 否 | 版本号,依赖项目的版本号 |
登录鉴权
node-sdk 使用管理员权限,不同环境下的鉴权方式如下:
云函数环境
在云函数环境中,无需手动配置鉴权参数。
import tcb from '@cloudbase/node-sdk'
const app = tcb.init({
env: tcb.SYMBOL_DEFAULT_ENV // 使用当前云函数默认环境 ID
})
云托管环境
在函数型云托管环境中,通过传入 context 参数实现免签名调用。
💡 注意:如果传入了
context参数但没有env参数,则会使用context中的envID参数作为环境 ID。
import tcb from '@cloudbase/node-sdk'
exports.main = async (event, context) => {
const app = tcb.init({
context
})
}
Node.js 环境
在 Node.js 环境中,需要配置以下任意一种鉴权方式:
- 使用 secretId 和 secretKey
- 使用 sessionToken
前往 腾讯云控制台/API密钥管理 生成 secretKey、secretId
import tcb from '@cloudbase/node-sdk'
const app = tcb.init({
env: "your-env-id",
secretId: "your-secretId",
secretKey: "your-secretKey",
})
通过 申请扮演角色临时访问凭证 接口获取 Token
import tcb from '@cloudbase/node-sdk'
const app = tcb.init({
env: "your-env-id",
sessionToken: "your-sessionToken",
})