环境管理
listEnvs
1. 接口描述
接口功能:获取所有环境信息
接口声明:listEnvs(): Promise<Object>
2. 输入参数
无
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求唯一标识 |
| EnvList | 是 | Array<EnvItem> | 环境数组 |
EnvItem
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| Source | 是 | String | 来源 |
| Alias | 是 | String | 环境别名 |
| Status | 是 | String | 环境状态 |
| CreateTime | 是 | String | 创建时间 |
| UpdateTime | 是 | String | 更新时间 |
| PackageId | 是 | String | 环境套餐 ID |
| PackageName | 是 | String | 套餐名 |
| Databases | 是 | Array | 数据库资源详情 |
| Storages | 是 | Array | 存储资源详情 |
| Functions | 是 | Array | 函数资源详情 |
| LogServices | 是 | Array | 日志资源详情 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.listEnvs()
const { EnvList } = res
for (let env in EnvList) {
// 遍历envList
console.log(env)
}
}
test()
getEnvAuthDomains
1. 接口描述
接口功能:获取合法域名列表
接口声明:getEnvAuthDomains(): Promise<Object>
2. 输入参数
无
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Domains | 是 | Array<Domain> | 域名列表 |
| envId | 是 | String | 环境 ID |
Domain
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Id | 是 | String | 域名 ID |
| Domain | 是 | String | 域名 |
| Type | 是 | String | 域名类型。包含以下取值:system user |
| Status | 是 | String | 状态。包含以下取值:ENABLE DISABLE |
| CreateTime | 是 | String | 创建时间 |
| UpdateTime | 是 | String | 更新时间 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.getEnvAuthDomains()
const { Domains } = res
for (let domain in Domains) {
console.log(domain)
}
}
test()
createEnvDomain
1. 接口描述
接口功能:添加环境安全域名
接口声明:createEnvDomain(domains: string[]): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| domains | 是 | Array<String> | 安全域名数组 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.createEnvDomain(['luke.com'])
console.log(res)
}
test()
deleteEnvDomain
1. 接口描述
接口功能:删除环境安全域名
接口声明:deleteEnvDomain(domains: string[]): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| domains | 是 | Array<String> | 安全域名数组 |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
| Deleted | 是 | Number | 删除成功的域名数 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.deleteEnvDomain(['luke.com'])
const { Deleted } = res
console.log(Deleted) // 删除域名数
}
test()
getEnvInfo
1. 接口描述
接口功能:获取环境信息
接口声明:getEnvInfo(): Promise<Object>
2. 输入参数
无
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
| EnvInfo | 是 | EnvItem | 环境信息 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.getEnvInfo()
const { EnvInfo } = res
console.log(EnvInfo)
}
test()
updateEnvInfo
1. 接口描述
接口功能:修改环境别名
接口声明:updateEnvInfo(alias: string): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| alias | 是 | String | 环境别名 |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.updateEnvInfo('lukemodify')
console.log(res)
}
test()
getLoginConfigList
1. 接口描述
接口功能:拉取登录配置列表
接口声明:getLoginConfigList(): Promise<Object>
2. 输入参数
无
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
| ConfigList | 是 | Array<ConfigItem> | 登录配置列表 |
ConfigItem
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Id | 是 | String | 配置 ID |
| Platform | 是 | String | 平台类型 |
| PlatformId | 是 | String | 平台 ID |
| Status | 是 | String | 配置状态 |
| UpdateTime | 是 | String | 配置更新时间 |
| CreateTime | 是 | String | 配置创建时间 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.getLoginConfigList()
const { ConfigList } = res
for (let config in ConfigList) {
console.log(config)
}
}
test()
createLoginConfig
1. 接口描述
接口功能:创建登录方式
接口声明:createLoginConfig(platform, appId, appSecret): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| platform | 是 | String | 平台 "WECHAT-OPEN" "WECHAT-PUBLIC" "QQ" "ANONYMOUS" |
| appId | 是 | String | 第三方平台的 AppID 注意:如果是匿名登录方式(platform:ANONYMOUS),appId 填: anonymous |
| appSecret | 否 | String | 第三方平台的 AppSecret,注意:如果是 匿名登录方式(platform:ANONYMOUS), appSecret 可不填 |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
await env.createLoginConfig('WECHAT-OPEN', 'appId', 'appSecret')
}
test()
updateLoginConfig
1. 接口描述
接口功能:更新登录方式配置
接口声明:updateLoginConfig(configId, status, appId, appSecret): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| configId | 是 | String | 配置的记录 ID |
| status | 是 | String | ”ENABLE”, “DISABLE” |
| appId | 是 | String | 第三方平台的 AppId,如果是匿名登录, appId 填: anonymous |
| appSecret | 否 | String | 第三方平台的 AppSecret,如果是匿名登录,可不填该字段 |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const loginConfigRes = await env.getLoginConfigList()
await env.updateLoginConfig(
loginConfigRes.ConfigList[0].Id,
'ENABLE',
'appId',
'appSecret'
)
}
test()
createBillingDeal
1. 接口描述
接口功能:创建环境计费订单
接口声明:createBillingDeal(params: CreateBillingDealParams): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| DealType | 是 | String | 下单操作类型,可取值:purchase(购买)、renew(续费)、modify(变配) |
| ProductType | 是 | String | 购买的产品类型,可取值:tcb-baas(baas 套餐)、tcb-promotion(大促包)、tcb-package(资源包) |
| PackageId | 是 | String | 目标下单产品/套餐 ID |
| CreateAndPay | 否 | Boolean | 是否自动支付 |
| TimeSpan | 否 | Number | 购买时长 |
| TimeUnit | 否 | String | 购买时长单位,可取值:d(天)、m(月)、y(年)、p(一次性) |
| ResourceId | 否 | String | 资源唯一标识符 |
| Source | 否 | String | 来源,可取值:qcloud、miniapp |
| Alias | 否 | String | 资源别名 |
| EnvId | 否 | String | 环境 ID |
| EnableExcess | 否 | Boolean | 开启超限按量计费 |
| ModifyPackageId | 否 | String | 变配目标产品/套餐 ID |
| Extension | 否 | String | 附加信息(JSON 字符串) |
| AutoVoucher | 否 | Boolean | 是否自动选择代金券支付 |
| ResourceTypes | 否 | String[] | 资源类型,新购环境时需要发货的资源,可取值:flexdb、cos、cdn、scf |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
| EnvId | 是 | String | 环境 ID |
| TranId | 是 | String | 订单交易 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.createBillingDeal({
DealType: 'purchase',
ProductType: 'tcb-baas',
PackageId: 'baas_personal',
CreateAndPay: false,
TimeSpan: 1,
TimeUnit: 'm',
Alias: 'test',
EnvId: 'test-12345'
})
console.log(res.TranId) // 订单交易ID
}
test()
cancelDeal
1. 接口描述
接口功能:取消未支付的订单
接口声明:cancelDeal(params: Object): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| TranId | 是 | String | 订单交易 ID |
| UserClientIp | 是 | String | 用户客户端 IP |
| WxAppId | 否 | String | 微信 AppId(可选) |
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
// 先创建订单
const dealRes = await env.createBillingDeal({
DealType: 'purchase',
ProductType: 'tcb-baas',
PackageId: 'baas_personal',
CreateAndPay: false,
TimeSpan: 1,
TimeUnit: 'm',
Alias: 'test',
EnvId: 'test-12345'
})
// 取消订单
const res = await env.cancelDeal({
TranId: dealRes.TranId,
UserClientIp: '127.0.0.1'
})
console.log(res)
}
test()
createCustomLoginKeys
1. 接口描述
接口功能:创建自定义登录密钥
接口声明:createCustomLoginKeys(): Promise<Object>
2. 输入参数
无
3. 返回结果
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 是 | String | 请求 ID |
| KeyID | 是 | String | 密钥 ID |
| PrivateKey | 是 | String | 私钥 |
4. 示例代码
import CloudBase from '@cloudbase/manager-node'
const { env } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
async function test() {
const res = await env.createCustomLoginKeys()
const { KeyID, PrivateKey } = res
console.log(KeyID, PrivateKey)
}
test()
destroyEnvWithParams
1. 接口描述
接口功能:销毁指定环境,支持强制删除和绕过资源检查等选项
接口声明:app.env.destroyEnvWithParams(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| IsForce | 否 | Boolean | 是否强制删除(针对预付费隔离中的环境),默认 false |
| BypassCheck | 否 | Boolean | 是否绕过资源数据检查直接删除,默认 false |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
describeEnvs
1. 接口描述
接口功能:查询账号下的云开发环境列表,支持多维度过滤
接口声明:app.env.describeEnvs(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 否 | String | 按环境 ID 过滤 |
| WxAppId | 否 | String | 微信 AppId(微信渠道必传) |
| IsVisible | 否 | Boolean | 与 Channels 配合,控制可见/不可见渠道的过滤方向 |
| Channels | 否 | String[] | 渠道列表,如 ["ide","qc_console"] |
| EnvType | 否 | String | 环境类型:baas / run / weda / hosting |
| EnvTypes | 否 | String[] | 环境类型列表(优先级高于 EnvType) |
| Limit | 否 | Number | 分页大小 |
| Offset | 否 | Number | 分页偏移量 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| EnvList | Array | 环境列表 |
| RequestId | String | 请求唯一标识 |
4. 示例代码
const CloudBase = require('@cloudbase/manager-node')
const app = new CloudBase({ secretId: 'Your SecretId', secretKey: 'Your SecretKey', envId: 'your-env-id' })
async function test() {
const { EnvList } = await app.env.describeEnvs({ EnvType: 'baas' })
EnvList.forEach(e => console.log(e.EnvId, e.Alias))
}
test()
createEnv
1. 接口描述
接口功能:创建新的云开发环境
接口声明:app.env.createEnv(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Alias | 是 | String | 环境别名,小写字母/数字/减号,不能以减号开头或结尾,最长 20 位 |
| PackageId | 是 | String | 套餐 ID,可通过 describeBaasPackageList 获取 |
| Resources | 是 | String[] | 需要发货的资源:flexdb / storage / function |
| Period | 否 | Number | 购买时长(月),默认 1 |
| AutoVoucher | 否 | Boolean | 是否自动使用代金券 |
| RenewFlag | 否 | String | 续费策略:NOTIFY_AND_AUTO_RENEW / NOTIFY_AND_MANUAL_RENEW |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| EnvId | String | 新创建的环境 ID |
| RequestId | String | 请求唯一标识 |
describeBaasPackageList
1. 接口描述
接口功能:查询云开发套餐列表,用于创建/变配/续费前获取可选套餐
接口声明:app.env.describeBaasPackageList(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PackageName | 否 | String | 套餐 ID,不填返回全量 |
| EnvId | 否 | String | 环境 ID |
| Source | 否 | String | 套餐归属方:miniapp / qcloud,默认 miniapp |
| TargetAction | 否 | String | 用途:new(新购)/ modify(变配)/ renew(续费) |
| GroupName | 否 | String | 套餐分组:calculation / flux / capacity |
| InternationalPackage | 否 | Boolean | 是否查询国际版套餐 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| PackageList | BaasPackageInfo[] | 套餐列表 |
| RequestId | String | 请求唯一标识 |
modifyEnvPlan
1. 接口描述
接口功能:变更指定环境的套餐(升降配)
接口声明:app.env.modifyEnvPlan(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| PackageId | 是 | String | 目标套餐 ID |
| AutoVoucher | 否 | Boolean | 是否自动使用代金券 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
renewEnv
1. 接口描述
接口功能:续费指定环境
接口声明:app.env.renewEnv(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| Period | 否 | Number | 续费时长(月),默认 1 |
| AutoVoucher | 否 | Boolean | 是否自动使用代金券 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
calculatePackageCreatePrice
1. 接口描述
接口功能:计算新购套餐的预估价格
接口声明:app.env.calculatePackageCreatePrice(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| packageId | 是 | String | 套餐 ID |
| region | 是 | String | 地域,如 ap-shanghai |
| period | 否 | Number | 购买时长(月) |
| currency | 否 | String | 币种:CNY 或 USD |
3. 返回结果
返回价格计算结果,包含原价、折后价等字段。
calculatePackageRenewPrice
1. 接口描述
接口功能:计算续费套餐的预估价格
接口声明:app.env.calculatePackageRenewPrice(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| envId | 是 | String | 环境 ID |
| period | 否 | Number | 续费时长(月) |
| currency | 否 | String | 币种:CNY 或 USD |
3. 返回结果
返回价格计算结果,包含原价、折后价等字段。
calculatePackageModifyPrice
1. 接口描述
接口功能:计算变配套餐的预估价格
接口声明:app.env.calculatePackageModifyPrice(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| envId | 是 | String | 环境 ID |
| packageId | 是 | String | 目标套餐 ID |
| currency | 否 | String | 币种:CNY 或 USD |
3. 返回结果
返回价格计算结果,包含原价、折后价等字段。
describeBillingInfo
1. 接口描述
接口功能:查询指定环境的计费信息
接口声明:app.env.describeBillingInfo(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 否 | String | 环境 ID,不传查全量 |
3. 返回结果
返回环境计费详情(包含套餐、到期时间、计费状态等,具体结构依后端实现)。
describeEnvAccountCircle
1. 接口描述
接口功能:查询环境的计费周期信息(当前周期及历史周期)
接口声明:app.env.describeEnvAccountCircle(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| WxAppId | 否 | String | 微信 AppId |
| WithHistoryCircle | 否 | Boolean | 是否同时返回上一个和上上个计费周期,默认 false |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| StartTime | String | 当前计费周期开始时间 |
| EndTime | String | 当前计费周期结束时间 |
| HistoryTime | Array | 历史周期列表(含开始/结束时间) |
| RequestId | String | 请求唯一标识 |
describeCreditsUsageDetail
1. 接口描述
接口功能:查询环境资源点的用量明细,支持按模块和日期过滤
接口声明:app.env.describeCreditsUsageDetail(params): Promise<Object>
自 v5.0.0 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
| Modules | 是 | String[] | 模块列表,可选:EKS / Database / SCF / COS / AI / HOSTING / Auth / Other |
| StartDate | 是 | String | 开始日期,格式 YYYY-MM-DD |
| EndDate | 是 | String | 结束日期,格式 YYYY-MM-DD |
| NeedUsageDetails | 是 | Boolean | 是否返回每日用量明细 |
3. 返回结果
返回各模块资源点用量明细(具体结构依后端实现)。
4. 示例代码
const CloudBase = require('@cloudbase/manager-node')
const app = new CloudBase({ secretId: 'Your SecretId', secretKey: 'Your SecretKey', envId: 'your-env-id' })
async function test() {
const res = await app.env.describeCreditsUsageDetail({
EnvId: 'your-env-id',
Modules: ['SCF', 'Database', 'COS'],
StartDate: '2025-01-01',
EndDate: '2025-01-31',
NeedUsageDetails: true
})
console.log(JSON.stringify(res, null, 2))
}
test()