跳到主要内容

环境管理

listEnvs​

1. 接口描述​

接口功能:获取所有环境信息

接口声明:listEnvs(): Promise<Object>

2. 输入参数​

无

3. 返回结果​

字段必填类型说明
RequestId是String请求唯一标识
EnvList是Array<EnvItem>环境数组

EnvItem​

字段必填类型说明
EnvId是String环境 ID
Source是String环境来源。miniapp 微信小程序 / qcloud 腾讯云
Alias是String环境别名
Status是String环境状态。NORMAL 正常 / UNAVAILABLE 不可用
CreateTime是String创建时间
UpdateTime是String更新时间
Region是String地域,如 ap-shanghai
PackageId是String环境套餐 ID
PackageName是String套餐中文名称
PackageType否String套餐类型。空 / baas / tcbr
EnvType否String环境类型。baas / run / hosting / weda
PayMode否String付费方式。prepayment 预付费 / postpaid 后付费
IsAutoDegrade否Boolean是否到期自动降为免费版
IsDefault否Boolean是否为默认环境
EnvChannel否String环境渠道
Databases否Array数据库资源详情
Storages否Array存储资源详情
Functions否Array函数资源详情
LogServices否Array日志资源详情
StaticStorages否StaticStorageInfo[]静态资源信息(含静态托管域名)
Tags否Array<{Key, Value}>环境标签
EnvPreferences否Record<string, any>用户环境配置

StaticStorageInfo​

静态 CDN 资源信息。

字段类型说明
StaticDomainString静态托管 CDN 域名,如 xxx.tcloudbaseapp.com
DefaultDirNameString静态 CDN 默认文件夹,当前为根目录
StatusString资源状态。process / online / offline / init
RegionStringCOS 所属区域

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 envItem of EnvList) {
console.log(envItem.EnvId, envItem.Alias)
// 获取静态托管域名
const staticDomain = envItem.StaticStorages?.[0]?.StaticDomain
if (staticDomain) {
console.log('静态托管域名:', staticDomain)
}
}
}

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. 返回结果​

字段类型说明
RequestIdString请求 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. 返回结果​

字段类型说明
RequestIdString请求唯一标识

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. 返回结果​

字段类型说明
EnvListArray环境列表
RequestIdString请求唯一标识

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. 返回结果​

字段类型说明
EnvIdString新创建的环境 ID
RequestIdString请求唯一标识

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. 返回结果​

字段类型说明
PackageListBaasPackageInfo[]套餐列表
RequestIdString请求唯一标识

modifyEnvPlan​

1. 接口描述​

接口功能:变更指定环境的套餐(升降配)

接口声明:app.env.modifyEnvPlan(params): Promise<Object>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数​

字段必填类型说明
EnvId是String环境 ID
PackageId是String目标套餐 ID
AutoVoucher否Boolean是否自动使用代金券

3. 返回结果​

字段类型说明
RequestIdString请求唯一标识

renewEnv​

1. 接口描述​

接口功能:续费指定环境

接口声明:app.env.renewEnv(params): Promise<Object>

版本提示

自 v5.0.0 起支持此接口

2. 输入参数​

字段必填类型说明
EnvId是String环境 ID
Period否Number续费时长(月),默认 1
AutoVoucher否Boolean是否自动使用代金券

3. 返回结果​

字段类型说明
RequestIdString请求唯一标识

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. 返回结果​

字段类型说明
StartTimeString当前计费周期开始时间
EndTimeString当前计费周期结束时间
HistoryTimeArray历史周期列表(含开始/结束时间)
RequestIdString请求唯一标识

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()