账期与用量控制
平台版以账号(UIN)为计费单位:购买一份平台版套餐后,账号下所有环境的资源使用统一从套餐资源点中计量扣减。本文介绍如何查询环境用量、控制环境状态,以及平台与您的职责边界,帮助您在自己的业务中实现"账期 + 用量"的管控。
平台与您的职责边界
云开发负责提供计量事实与执行接口,账期规则、额度判断与处置策略由您自行实现:
| 层 | 责任方 | 提供能力 |
|---|---|---|
| 计量 | 云开发 | 用量统计、按起止时间查询环境用量 |
| 执行 | 云开发 | 暂停 / 恢复 / 销毁接口(收口 + 审计) |
| 通知 | 云开发 | 用量变化事件回调(暂未开放) |
| 账期 | 您(客户) | 账期规则(周期、额度重置 / 滚存) |
| 额度 | 您(客户) | 额度体系(资源点 / 流量 / 次数等) |
| 策略 | 您(客户) | 阈值判断、告警、暂停 / 恢复 / 销毁决策 |
为什么平台不做账期
每个客户的商业模式(免费试用、按量付费、预付费、企业合同)差异巨大,账期与额度策略组合空间极大(自动续期、暂停保留、到期降级、超量按量、透支等)。云开发不替客户"拍板"策略,而是提供原子能力,由您按自身业务规则组合,获得最大的灵活性。
用量查询
平台提供环境维度的用量查询能力,支持按指定起止时间和环境 ID 查询资源点用量,可用于账期结算、成本分析与额度判断。
调用查询接口(如 DescribeEnvUsage),按起止时间与环境 ID 查询:
const result = await tcbClient.DescribeEnvUsage({
EnvId: userEnvId,
StartTime: "2026-08-01 00:00:00", // 起止时间
EndTime: "2026-08-31 23:59:59",
});
// result 包含该环境 在时间范围内的资源点用量明细
使用建议:
- 账期结算:在账期结束时按起止时间查询累计用量,用于对账与结算
- 成本分析:按环境查询各时段用量,识别高消耗环境
- 额度判断:将查询结果与您设定的额度阈值比对,触发后续处置
环境状态控制
平台提供环境维度的状态控制接口,您可按业务策略对单个环境执行暂停 / 恢复 / 销毁:
| 操作 | 说明 |
|---|---|
| 暂停 | 环境进入暂停状态(与隔离效果一致),运行中的服务停止,数据保留,仍会持续产生资源点消耗,可按需恢复 |
| 恢复 | 将暂停的环境恢复为正常可用状态 |
| 销毁 | 删除环境(会清除数据,需谨慎操作) |
// 暂停环境(示例:额度耗尽时触发)
await tcbClient.SuspendEnv({ EnvId: userEnvId });
// 恢复环境(示例:客户续费后)
await tcbClient.ResumeEnv({ EnvId: userEnvId });
状态控制注意事项
- 暂停 / 恢复仅支持手动触发;账号处于系统停服状态(超限停服 / 到期隔离)时不可调用。
- 暂停后数据保留,仍会持续产生资源点消耗。
- 销毁会清除数据,请确认业务无依赖后再操作。
用量感知方式
要判断"哪些环境需要处置",有两种用量感知方式:
方式一:定时轮询
您通过定时任务遍历环境列表,按各自账期查询用量、比对额度并下发处置:
适用于环境数量较少的场景。环境数量较多时,全量轮询会产生大量 API 调用(环境数 × 轮询频率)。
方式二:事件回调(暂未开放)
云开发提供用量变化事件回调能力:检测到用量变化后主动回调您的系统,您只需处理有变化的环境,避免定时遍历全量环境,更精准。该能力当前暂未开放,请使用方式一(定时轮询)。
方式二(事件回调)当前暂未开放,请使用方式一(定时轮询)。
推荐的实现流程
- 购买套餐并创建环境:见 购买与初始化 与 创建环境
- 下发 API Key:见 API Key 管理
- 搭建账期引擎:定义账期规则(周期、额度重置 / 滚存)与额度体系(资源点 / 流量 / 次数)
- 接入用量感知:通过定时轮询获取各环境用量(事件回调暂未开放)
- 实现处置策略:将用量与额度比对,触发暂停 / 恢复 / 销毁 / 告警等动作