SDK 初始化
init
1. 接口描述
接口功能:SDK 实例初始化
接口声明:init: (config?: ICloudBaseConfig): CloudBase
2. 输入参数
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
secretId | string | 否 | 腾讯云 API 固定密钥对 secretId ,在云函数内执行可不填。前往控制台获取 |
secretKey | string | 否 | 腾讯云 API 固定密钥对 secretKey ,在云函数内执行可不填。前往控制台获取 |
sessionToken | string | 否 | 腾讯云 API 临时密钥对 Token ,临时凭证需通过 sts.AssumeRole 接口获取临时访问凭证 查看文档 |
env | string | 否 | TCB 环境 ID。如果 SDK 运行在 TCB云函数 环境下,默认使用函数所在环境的环境ID,运行在其他环境缺省该参数则会使用默认境 |
timeout | number | 否 | 调用接口的超时时间(ms),默认为 15000ms ,即 15s |
proxy | string | 否 | 调用接口时使用的 http 代理 url |
credentials | object | 否 | Cloudbase 私钥,包含 private_key 和 private_key_id 两个字符串,可以登录云开发控制台获取 |
version | string | 否 | 版本号,依赖项目的版本号 |
云函数2.0中可通过以下参数初始化 SDK 实现免签名调用:
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 否 | 云函数2.0 入口函数 context 参数 |
如果传入了 context
参数,但是是没有 env
参数,则会使用 context
中的 envID
参数作为 环境ID
。
3. 返回结果
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
- | CloudBase | 是 | tcb 对象实例 |
4. 示例代码
import tcb from '@cloudbase/node-sdk'
// 初始化,云函数下可省略 secretId 和 secretKey,env 如果不指定则使用当前函数所在环境的环境ID
const app = tcb.init()
const app = tcb.init({env: 'xxx'})
const app = tcb.init({
secretId: 'xxxxx',
secretKey: 'xxxx',
sessionToken: 'xxxx',
env: 'xxx'
})
// 设置请求超时时间
const app = tcb.init({
timeout: 5000
})
// 初始化环境'xx'和'zz'
const app1 = tcb.init({env: 'xx'})
const app2 = tcb.init({env: 'zz'})
云函数2.0中初始化SDK并调用
import tcb from '@cloudbase/node-sdk'
exports.main = async (event, context) => {
const { httpContext } = context
const { url, httpMethod } = httpContext
console.log(`[${httpMethod}][${url}]`)
const tcbapp = tcb.init({ context })
const result = await tcbapp.callFunction({
name: 'helloworld',
// 云函数2.0 参数
type: 'cloudrun',
method: 'POST',
path: '/abc',
data: {
key1: 'test value 1',
key2: 'test value 2'
},
{
timeout: 5000
}
})
console.log(result)
// 其他业务逻辑,例如:
// 调用容器
// 调用数据库
// 调用云存储
}