环境管理
购买平台版套餐后,即可调用云开发接口创建环境。本文介绍平台版环境的生命周期、环境管理接口,以及两种使用方式:按需创建(用户使用时实时创建)与预创建(提前批量创建,用户使用时直接分配)。
职责边界:云开发仅负责创建资源,不感知您的用户体系。用户与环境 ID 的对应关系,需要由您的系统在创建成功后自行记录并维护。
环境生命周期
注意:平台版为账号维度计费,不支持为单个环境单独续费。套餐状态影响账号下所有环境:套餐超限停服(资源点耗尽)或套餐到期隔离(到期未续费)时,所有环境均不可使用(环境数据保留)。套餐状态的完整说明,见购买与初始化 - 套餐状态。
环境从创建到删除会经历多个状态。平台版环境的状态如下:
| 状态 | 说明 |
|---|---|
| 创建中 | 环境正在创建,资源尚未就绪,暂不可用 |
| 正常 | 环境已就绪,可正常使用 |
| 创建失败 | 环境创建失败,不可用 |
| 暂停中 | 环境已暂停,服务不可用,数据保留 |
| 已删除 | 环境已删除,环境内数据已清除 |
状态流转如下:
流转说明:
- 创建中 → 正常:创建成功,环境就绪,可投入使用
- 创建中 → 创建失败:创建失败,环境不可用
- 正常 → 暂停中:手动暂停环境,服务停止但数据保留
- 暂停中 → 正常:手动启动,环境恢复可用
- 正常 → 已删除:删除环境,环境内数据被清除
- 暂停中 → 已删除:删除已暂停的环境,环境内数据被清除
- 创建失败 → 已删除:创建失败的环境也可删除,清理无效资源
环境的创建、查询、暂停/启动、删除等接口操作,见接口管理。
接口管理
平台版提供以下环境管理操作:
| 操作 | 方式 | 说明 |
|---|---|---|
| 创建环境 | 接口 | CreateEnv |
| 获取环境列表 | 接口 | DescribeEnvs |
| 删除环境 | 接口 | 删除单个环境,环境内数据将被清除,请谨慎操作;创建失败的环境也可删除 |
| 环境暂停 | 接口 | 接口暂未开放 |
| 环境启动 | 接口 | 接口暂未开放 |
| 账号套餐续费 | 说明 | 账号续费后,所有平台版环境自动延续,到期时间统一更新 |
创建环境
调用 CreateEnv 接口创建环境。接口的请求参数与返回参数,请直接参阅云 API 文档。
说明:平台版为账号维度套餐,创建环境时无需指定
PackageId(套餐在账号维度统一管理),可按需指定Resources资源类型(如 PostgreSQL、存储、云函数)。
获取密钥:使用具备云开发管理权限的 CAM 子用户登录 访问密钥控制台,创建并保存
SecretId与SecretKey,再将其分别配置为TENCENTCLOUD_SECRETID与TENCENTCLOUD_SECRETKEY环境变量。密钥仅应保存于平台服务端,不得提交到代码仓库或暴露到前端。其他语言(Python、Java、Go 等)的调用方式,请参阅云产品 SDK 中心。
查询状态
调用 DescribeEnvs 确认环境状态。当返回的 Status 为 NORMAL 时,表示环境已就绪,可以投入使用。
相关查询接口:
- 查询环境列表与状态:DescribeEnvs
- 查询账号套餐用量:DescribeBillingInfo
- 查询环境配额使用量:DescribeEnvLimit
提示:环境完整的生命周期与状态流转说明,见环境生命周期。
使用方式
按需创建与预创建的流程如下。
按需创建
适用场景:用户规模较小或创建频率不高,环境随用随建,不提前占用资源。
流程示意:
用户请求环境时,您的系统实时调用 CreateEnv 创建环境;创建成功后,在您的系统数据库记录用户 ID 与环境 ID 的映射关系,并将环境 ID 返回给用户。创建完成后,调用 DescribeEnvs 确认环境状态,就绪后再分配给用户,判断方法见 查询状态。
预创建
适用场景:对开通体验有要求(例如希望用户无感开通)。可提前批量创建好环境,用户使用时直接分配,创建耗时对用户不可见。
预创建流程:
- 批量创建:循环调用 CreateEnv 批量创建环境(使用不同的
Alias区分环境,接口调用方式见 创建环境),直到达到套餐限制或您的自定义限制 - 确认就绪:调用 DescribeEnvs 确认环境状态,将就绪(
Status为NORMAL)的环境纳入待分配环境池,判断方法见 查询状态
用户申请流程:
- 分配:用户请求环境时,从环境池中随机选取一个已创建且未关联用户的环境分配给该用户,并在数据库中记录用户 ID 与环境 ID 的映射关系
- 签发凭证:为分配的环境获取 API Key 并下发给用户,见 API Key 管理
注意:预创建的环境会占用账号资源点并持续产生消耗,请根据预计用户量合理评估预创建数量,避免资源浪费。
下一步
环境创建完成后,接下来需要为每个用户环境签发 API Key: