环境管理
方法名带 Platform 前缀的接口用于管理平台版套餐资源,通过 app.platform 访问(如 app.platform.createPlatformEnv),其余接口通过 app.env 访问。平台版是账号维度的套餐方案,详见平台版概述。
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 资源信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| StaticDomain | String | 静态托管 CDN 域名,如 xxx.tcloudbaseapp.com |
| DefaultDirName | String | 静态 CDN 默认文件夹,当前为根目录 |
| Status | String | 资源状态。process / online / offline / init |
| Region | String | COS 所属区域 |
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. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| 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 | 请求唯一标识 |
destroyPlatformEnv
1. 接口描述
接口功能:删除平台版环境,环境内数据同时清除且不可恢复
接口声明:app.platform.destroyPlatformEnv(params): Promise<Object>
自 v5.8.8 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 是 | String | 环境 ID |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| 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 res = await app.platform.destroyPlatformEnv({
EnvId: 'env-to-destroy'
})
console.log(res.RequestId)
}
test()
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 |
| ExternalStorage | 否 | ExternalStorage | 云存储使用共享 COS 桶。传入后不再为环境分配独立的存储桶,文件存放在共享桶内的目录前缀(BasePath)下。Resources 需包含 storage;只作用于云存储,静态托管的共享桶由平台在开通托管时分配,见 附录:共享 COS 桶(ExternalStorage) |
ExternalStorage
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Enabled | 否 | Boolean | 是否启用外部存储,建议显式传 true |
| BucketName | 是 | String | 共享桶名称 |
| Region | 是 | String | 共享桶所在地域,例如 ap-shanghai |
| BasePath | 是 | String | 环境在共享桶内的目录前缀,同一共享桶内各环境需唯一 |
外部存储目前只支持腾讯云对象存储 COS,BucketName 填写 COS 存储桶名称,无需指定存储提供商。
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| EnvId | String | 新创建的环境 ID |
| RequestId | String | 请求唯一标识 |
createPlatformEnv
1. 接口描述
接口功能:在已购平台版套餐下创建新环境
接口声明:app.platform.createPlatformEnv(params): Promise<Object>
自 v5.8.8 起支持此接口
平台版为账号维度套餐,创建环境时无需指定 PackageId,环境资源统一从平台版套餐中计量扣减。ReqKey 为幂等键,可用于防止重复创建。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Alias | 是 | String | 环境别名,用于区分环境 |
| PlatformId | 是 | String | 平台版套餐 ID,可通过 describePlatforms 获取 |
| ReqKey | 是 | String | 幂等键,用于防止重复创建 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| EnvId | String | 新创建的环境 ID |
| 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 res = await app.platform.createPlatformEnv({
Alias: 'user-001',
PlatformId: 'your-platform-id',
ReqKey: 'create-user-001-20260920'
})
console.log(res.EnvId)
}
test()
modifyPlatformEnv
1. 接口描述
接口功能:修改平台版环境状态,支持启用/禁用环境,以及云存储(Storage)、FlexDB(文档型数据库)资源的状态变更,未传入的资源不做更新
接口声明:app.platform.modifyPlatformEnv(params): Promise<Object>
自 v5.8.8 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 否 | String | 环境 ID,不传使用当前环境 |
| Status | 否 | String | 环境状态:ENABLE(启用)/ DISABLE(禁用) |
| Storage | 否 | PlatformEnvResource | 云存储资源状态变更 |
| FlexDB | 否 | PlatformEnvResource | FlexDB(文档型数据库)资源状态变更 |
PlatformEnvResource
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Status | 否 | String | 资源状态:ENABLE(正常)/ DISABLE(彻底禁用)/ READONLY(只读),不传则不更新 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Status | String | 环境最终状态,如 manualLimited |
| 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 res = await app.platform.modifyPlatformEnv({
EnvId: 'your-env-id',
Status: 'DISABLE'
})
console.log(res.Status)
}
test()
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 | 请求唯一标识 |
describePlatformPackageList
1. 接口描述
接口功能:查询在售的平台版套餐列表,用于购买前查询可选套餐,不涉及已购资源
接口声明:app.platform.describePlatformPackageList(params?): Promise<Object>
自 v5.8.8 起支持此接口
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PackageId | 否 | String | 平台版套餐 ID,不传返回全量 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| PackageList | PlatformPackageInfo[] | 在售平台版套餐列表 |
| RequestId | String | 请求唯一标识 |
PlatformPackageInfo
| 字段 | 类型 | 说明 |
|---|---|---|
| PackageId | String | 套餐 ID |
| Name | String | 套餐名称 |
| BillTags | String | 计费下单参数(JSON 字符串) |
| Spec | String | 套餐规格信息(JSON 字符串) |
| Description | String | 套餐描述 |
| Id | Number | 套餐数字 ID |
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.platform.describePlatformPackageList()
res.PackageList.forEach(pkg => {
console.log(pkg.PackageId, pkg.Name)
})
}
test()
describePlatforms
1. 接口描述
接口功能:查询当前账号下已购的平台版资源实例列表,返回计费信息及存储、日志、静态托管等底层资源明细
接口声明:app.platform.describePlatforms(params?): Promise<Object>
自 v5.8.8 起支持此接口
创建平台版环境(createPlatformEnv)所需的 PlatformId 可通过此接口获取。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PlatformIds | 否 | String[] | 平台版套餐 ID 列表,不传分页返回账号下所有平台版资源 |
| Limit | 否 | Number | 分页大小,取值范围 10~100,默认 10 |
| Offset | 否 | Number | 分页偏移量,默认 0 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| PlatformList | PlatformInfo[] | 平台版资源列表 |
| Total | Number | 总数 |
| RequestId | String | 请求唯一标识 |
PlatformInfo
| 字段 | 类型 | 说明 |
|---|---|---|
| PlatformId | String | 平台版套餐 ID |
| Alias | String | 套餐别名 |
| PackageId | String | 套餐 ID |
| BillStatus | String | 计费状态:normal(正常)/ isolated(已隔离)/ destroyed(已销毁) |
| Status | Number | 套餐资源状态:0(可用)/ 5(发货中) |
| Spec | String | 资源配置(JSON 字符串) |
| BillTime | String | 购买时间,格式 YYYY-MM-DD HH:mm:ss |
| ExpireTime | String | 套餐过期时间,格式 YYYY-MM-DD HH:mm:ss |
| IsAutoRenew | Number | 自动续费设置:0(未设置)/ 1(自动续费)/ 2(到期不续费) |
| Resources | PlatFormResourceInfo[] | 资源信息列表 |
| Region | String | 所属地域,如 ap-shanghai(上海)/ ap-singapore(新加坡) |
PlatFormResourceInfo
| 字段 | 类型 | 说明 |
|---|---|---|
| ResType | String | 资源类型:log(日志)/ storage(云存储)/ hosting(静态托管) |
| ResName | String | 资源唯一标识 |
| Detail | String | 资源详细信息(JSON 字符串) |
| Status | Number | 资源状态:0(正常)/ 5(初始化中) |
| PlatformId | Number | 资源 ID |
| Id | Number | 对应平台资源 ID |
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.platform.describePlatforms({ Limit: 20 })
console.log('平台版资源总数:', res.Total)
res.PlatformList.forEach(p => {
console.log(p.PlatformId, p.Alias, p.BillStatus)
})
}
test()
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,不传时查询账号下的环境 |
| Limit | 否 | Number | 分页条数 |
| Offset | 否 | Number | 分页偏移 |
3. 返回结果
返回环境计费详情(包含套餐、到期时间、计费状态等,具体结构依后端实现)。
分页查询时,返回的 Total 可能与实际可翻页的条数不一致,建议按本页返回条数是否达到 Limit 判断是否还有下一页。
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 | 请求唯一标识 |
describePlatformAccountCircle
1. 接口描述
接口功能:查询平台版资源当前所处的计费周期
接口声明:app.platform.describePlatformAccountCircle(params): Promise<Object>
自 v5.8.8 起支持此接口
平台版资源点按月结算,计费周期自购买日起算,每个周期享有一笔抵扣额度。例如 2026-01-05 购买 3 个月(2026-04-05 到期),则三个周期分别为 01-05 ~ 02-05、02-06 ~ 03-05、03-06 ~ 04-05。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PlatformId | 是 | String | 平台版套餐 ID |
| WithHistoryCircle | 否 | Boolean | 是否附带返回最近两个历史周期,默认 false |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| StartTime | String | 当前计费周期开始时间 |
| EndTime | String | 当前计费周期结束时间 |
| HistoryTime | CircleTime[] | 历史周期列表,依次为上个、上上个周期 |
| Expired | Boolean | 套餐当前是否过期 |
| RequestId | String | 请求唯一标识 |
CircleTime
| 字段 | 类型 | 说明 |
|---|---|---|
| StartTime | String | 周期开始时间 |
| EndTime | 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 res = await app.platform.describePlatformAccountCircle({
PlatformId: 'your-platform-id',
WithHistoryCircle: true
})
console.log('当前周期:', res.StartTime, '~', res.EndTime)
}
test()
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()
describePlatformCreditsUsage
1. 接口描述
接口功能:查询平台版资源的资源点用量汇总
接口声明:app.platform.describePlatformCreditsUsage(params): Promise<Object>
自 v5.8.8 起支持此接口
返回指定时间范围内的资源点用量统计,包括套餐内抵扣、资源包抵扣、按量上报、原价消耗四类总量及每日明细。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PlatformId | 是 | String | 平台版套餐 ID |
| StartDate | 是 | String | 开始日期,格式 YYYY-MM-DD |
| EndDate | 是 | String | 结束日期,格式 YYYY-MM-DD |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| DeductValueCount | Number | 资源点套餐内抵扣总量 |
| PackageDeductValueCount | Number | 资源点资源包抵扣总量 |
| ReportValueCount | Number | 资源点按量上报总量 |
| OriginCreditsCount | Number | 资源点原价消耗总量 |
| DailyList | PlatformCreditsUsageDaily[] | 每日资源点用量列表 |
| RequestId | String | 请求唯一标识 |
PlatformCreditsUsageDaily
| 字段 | 类型 | 说明 |
|---|---|---|
| Date | String | 日期 |
| DeductValue | Number | 资源点套餐内用量 |
| PackageDeductValue | Number | 资源点资源包用量 |
| ReportValue | Number | 资源点按量用量 |
| OriginCredits | Number | 资源点原价消耗 |
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.platform.describePlatformCreditsUsage({
PlatformId: 'your-platform-id',
StartDate: '2026-09-01',
EndDate: '2026-09-20'
})
console.log('套餐内抵扣总量:', res.DeductValueCount)
}
test()
describePlatformCreditsUsageDetail
1. 接口描述
接口功能:查询平台版资源的资源点用量明细
接口声明:app.platform.describePlatformCreditsUsageDetail(params): Promise<Object>
自 v5.8.8 起支持此接口
按模块(Usages)→ 指标(MetricUsageDetail)→ 每日明细(ValueDetailList)三个层级返回各模块的资源点用量及原始用量明细。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PlatformId | 是 | String | 平台版套餐 ID |
| Modules | 是 | String[] | 模块列表,见下方枚举 |
| StartDate | 是 | String | 开始日期,格式 YYYY-MM-DD |
| EndDate | 是 | String | 结束日期,格式 YYYY-MM-DD |
| NeedUsageDetails | 是 | Boolean | 是否返回每日用量明细 |
Modules 可选取值:FLEXDB(文档数据库)、TDSQL(MySQL 数据库)、SCF(云函数)、AI(大模型)、EKS(云托管)、COS(云存储)、HOSTING(静态托管)、Auth(用户权限)、APIInvocation(API 调用)、HTTPInvocation(HTTP 调用)、VM(主机)、Workflow(工作流)、PostgreSQL、Token、Other(其他)
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Usages | PlatformPkgCreditsUsage[] | 各模块用量数据 |
| RequestId | String | 请求唯一标识 |
PlatformPkgCreditsUsage
| 字段 | 类型 | 说明 |
|---|---|---|
| PlatformId | String | 平台版套餐 ID |
| Module | String | 模块 |
| CreditsValue | Number | 模块总资源点用量 |
| MetricUsageDetail | MetricUsage[] | 指标用量明细 |
| DeductValue | Number | 资源点套餐内用量 |
| PackageDeductValue | Number | 资源点资源包用量 |
| ReportValue | Number | 资源点按量用量 |
| OriginCredits | Number | 资源点原价消耗 |
MetricUsage
| 字段 | 类型 | 说明 |
|---|---|---|
| MetricName | String | 指标名称 |
| ResourceType | String | 资源类型 |
| Value | Number | 原始资源用量 |
| CreditsValue | Number | 资源点用量 |
| BillingCycleType | String | 计费周期类型:hourly / daily |
| Unit | String | 原始资源用量单位 |
| ValueDetailList | ValueDetail[] | 原始资源用量按日明细 |
| DeductValue | Number | 资源点套餐内用量 |
| PackageDeductValue | Number | 资源点资源包用量 |
| ReportValue | Number | 资源点按量用量 |
| OriginCredits | Number | 资源点原价消耗 |
ValueDetail
| 字段 | 类型 | 说明 |
|---|---|---|
| CalcTime | String | 时间,格式 YYYY-MM-DD HH:mm:ss |
| RawValue | Number | 原始资源用量 |
| CreditsValue | Number | 资源点用量 |
| DeductValue | Number | 资源点套餐内用量 |
| PackageDeductValue | Number | 资源点资源包用量 |
| ReportValue | Number | 资源点按量用量 |
| OriginCredits | Number | 资源点原价消耗 |
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.platform.describePlatformCreditsUsageDetail({
PlatformId: 'your-platform-id',
Modules: ['SCF', 'FLEXDB'],
StartDate: '2026-09-01',
EndDate: '2026-09-20',
NeedUsageDetails: true
})
res.Usages.forEach(u => {
console.log(u.Module, u.CreditsValue)
})
}
test()
describePlatformEnvCreditsRanking
1. 接口描述
接口功能:查询平台版下各环境的资源点用量排行
接口声明:app.platform.describePlatformEnvCreditsRanking(params?): Promise<Object>
自 v5.8.8 起支持此接口
按指定时间范围返回各环境的资源点用量排序。排行数据由后台定时计算,可能存在小时级延迟。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| PlatformId | 否 | String | 平台版套餐 ID |
| TimeRange | 否 | String | 查询时间范围,默认 Today |
| PageSize | 否 | Number | 每页条数,默认 50 |
| AfterRank | 否 | Number | 分页偏移量,传上一页最后一条的 Rank |
TimeRange 可选取值:Today(近 1 天)、Recent7Days(近 7 天)、CurrentCycle(当前计费周期)、PreviousCycle(上一个计费周期)、Previous2Cycle(上两个计费周期)
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| TimeRange | String | 查询时间范围 |
| StartTime | String | 起始时间,格式 YYYY-MM-DD HH:mm:ss |
| EndTime | String | 结束时间,格式 YYYY-MM-DD HH:mm:ss |
| DataAsOfTime | String | 统计截止时间,格式 YYYY-MM-DD HH:mm:ss |
| HasMore | Boolean | 是否还有下一页数据 |
| NextAfterRank | Number | 下一条数据的分页偏移值 |
| TotalCount | Number | 总数量 |
| CreditsScale | Number | 资源点精度 |
| SnapshotId | String | 排行快照版本 |
| Items | EnvCreditsRank[] | 环境排行列表 |
| RequestId | String | 请求唯一标识 |
EnvCreditsRank
| 字段 | 类型 | 说明 |
|---|---|---|
| EnvId | String | 环境 ID |
| TotalCredits | Number | 总资源点用量 |
| Rank | Number | 排行序号 |
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.platform.describePlatformEnvCreditsRanking({
PlatformId: 'your-platform-id',
TimeRange: 'Recent7Days'
})
res.Items?.forEach(item => {
console.log(item.Rank, item.EnvId, item.TotalCredits)
})
}
test()
describePlatformEnvUsage
1. 接口描述
接口功能:查询平台版环境内各资源类型的用量
接口声明:app.platform.describePlatformEnvUsage(params): Promise<Object>
自 v5.8.8 起支持此接口
按资源类型(存储、函数、数据库等)返回各指标的用量及按日明细,包括资源点用量与原始用量值及对应单位。
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| EnvId | 否 | String | 环境 ID,不传使用当前环境 |
| StartDate | 否 | String | 查询起始日期,格式 YYYY-MM-DD |
| EndDate | 否 | String | 查询结束日期,格式 YYYY-MM-DD |
| ResourceTypes | 否 | String[] | 资源类型列表,见下方枚举 |
| NeedUsageDetails | 否 | Boolean | 是否展示用量明细 |
ResourceTypes 可选取值:Storage(云存储)、Function(云函数)、Database(数据库)、HOSTING(静态托管)、Log(日志)、Gateway(网关)、Cloudrun(云托管)、Token、EO(EdgeOne)
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Resources | PlatformResUsageItem[] | 资源用量信息 |
| TotalCredits | Number | 资源点总量 |
| CreditsScale | Number | 资源点取整倍数 |
| RequestId | String | 请求唯一标识 |
PlatformResUsageItem
| 字段 | 类型 | 说明 |
|---|---|---|
| ResourceType | String | 资源类型 |
| TotalCredits | Number | 该资源类型的资源点总量 |
| Metrics | PlatformMetricUsageItem[] | 指标用量信息 |
PlatformMetricUsageItem
| 字段 | 类型 | 说明 |
|---|---|---|
| MetricName | String | 指标名称 |
| OriginalResourceType | String | 原始资源类型 |
| OriginalMetricName | String | 原始指标名 |
| UsageValue | Number | 资源用量 |
| UsageUnit | String | 资源用量单位,如 MB、Count |
| Credits | Number | 资源点用量 |
| DailyUsageList | DailyUsageList[] | 用量按日明细列表 |
DailyUsageList
| 字段 | 类型 | 说明 |
|---|---|---|
| Date | String | 日期,格式 YYYY-MM-DD |
| Credits | Number | 资源点用量 |
| UsageValue | Number | 原始资源用量 |
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.platform.describePlatformEnvUsage({
EnvId: 'your-env-id',
StartDate: '2026-09-01',
EndDate: '2026-09-20',
ResourceTypes: ['Storage', 'Function']
})
console.log('资源点总量:', res.TotalCredits)
res.Resources?.forEach(r => {
console.log(r.ResourceType, r.TotalCredits)
})
}
test()