开通并创建第一个环境
本文面向平台接入方,介绍如何通过腾讯云 API 开通云开发服务并创建第一个环境,作为后续为租户分配环境的基础。
前置条件
创建环境前,需先通过以下接口确认账号状态与可用资源:
- 检查是否已开通云开发服务:CheckTcbService
- 查询环境个数上限:DescribeEnvLimit
- 获取可用地域列表:DescribeTcbRegions
- 获取可用套餐列表:DescribeBaasPackageList
首次创建环境前需要先完成云开发服务开通,包括同意服务条款、完成服务角色权限授权等初始化操作。完成后即可继续创建环境。
调用 CreateEnv 创建环境
调用 CreateEnv 接口创建环境,接口会自动下单并扣款。关键参数:
| 参数 | 说明 |
|---|---|
PackageId | 套餐 ID,常见套餐见下表;可通过 DescribeBaasPackageList 获取 |
Alias | 环境别名。仅支持小写字母、数字、连字符(-),不能以 - 开头或结尾,不能有两个连续 -,长度不超过 20 位 |
Resources | 环境内需要的资源类型,具体见下表 环境 |
Period | 购买时长(月),取值范围 1-12 或 24,默认 1 |
RenewFlag | 自动续费标识:NOTIFY_AND_AUTO_RENEW(通知且自动续费)/ NOTIFY_AND_MANUAL_RENEW(通知不自动续费,默认) |
Tags | 环境标签,用于权限隔离与资源分组;建议按租户 ID、业务线打标 |
EnableOverrun | 超限按量开关,取值 TRUE / FALSE;建议设置为 TRUE,否则套餐用量耗尽将触发停服 |
ExternalStorage | 共享 COS 桶配置。单账号下环境数量超过 150 个、触及 COS 桶配额时使用,详见附录:共享 COS 桶 |
常见套餐 ID:
| 套餐 ID | 套餐名称 | 适用场景 |
|---|---|---|
baas_integration | 集成版 | 平台型客户,需要在账 号下创建大量环境 |
baas_personal | 个人版 | 入门试用、个人开发 |
baas_pf_standard | 标准版 | 小团队、生产环境 |
baas_pf_enterprise | 企业版 | 企业级业务 |
Resources 值:
| 取值 | 说明 |
|---|---|
postgresql | PostgreSQL 数据库(关系型数据库,支持 SQL) |
storage | 对象存储(云存储) |
function | 云函数(含 HTTP 云函数) |
以下是 Node.js SDK 调用示例(密钥建议通过环境变量注入,避免硬编码):
const tencentcloud = require("tencentcloud-sdk-nodejs");
const TcbClient = tencentcloud.tcb.v20180608.Client;
const client = new TcbClient({
credential: {
secretId: process.env.TENCENTCLOUD_SECRETID,
secretKey: process.env.TENCENTCLOUD_SECRETKEY,
},
profile: {
httpProfile: {
endpoint: "tcb.tencentcloudapi.com",
},
},
});
client
.CreateEnv({
PackageId: "baas_personal",
Alias: "tenant-a-env",
Resources: ["postgresql", "storage", "function"],
Period: 1,
})
.then(
(resp) => {
console.log(resp.EnvId);
},
(err) => {
console.error("error", err);
},
);
获取密钥:使用具备云开发管理权限的 CAM 子用户登录 访问密钥控制台,创建并保存
SecretId与SecretKey,再将其分别配置为TENCENTCLOUD_SECRETID与TENCENTCLOUD_SECRETKEY环境变量。密钥仅应保存于平台服务端,不得提交到代码仓库或暴露到前端。其他语言(Python、Java、Go 等)的调用方式,请参阅云产品 SDK 中心。
单个腾讯云账号的 COS 存储桶数量存在账号级配额上限。当平台需要在单账号下创建超过 150 个环境时,请在 CreateEnv 中传入 ExternalStorage 共享同一个 COS 桶,避免触及配额导致环境创建失败。字段说明、调用示例与确认方式,详见 附录:共享 COS 桶(ExternalStorage)。
返回参数
调用成功后,接口返回以下关键参数:
| 参数 | 类型 | 说明 |
|---|---|---|
EnvId | String | 自动生成的环境 ID |
TranId | String | 计费订单号 |
RequestId | String | 唯一请求 ID |
重要:请妥善保存返回的
EnvId,后续所有操作均需使用该环境 ID。购买为异步操作,环境创建完成前可能需要等待数 秒到数分钟。
等待发货并确认状态
环境发货为异步行为,调用 DescribeEnvs 轮询,直至环境状态变为可用。当返回的 Status 为 NORMAL 时,表示环境已就绪,一般需要等待 1-3 分钟。确认后可进一步查询用量与计费:
- 查询环境计费信息:DescribeBillingInfo
- 查询环境计费周期:DescribeEnvAccountCircle
- 查询环境配额使用量:DescribeEnvLimit
配额注意事项:COS 资源和云函数(非上海地域)均存在账号级或地域级配额上限;计划批量创建大量环境时,建议提前与云开发团队进行配额评估。当单账号下环境数量超过 150 个、触及 COS 桶配额时,可参考附录:共享 COS 桶(ExternalStorage)方式创建环境。
环境关键信息
在开发过程中,您会需要以下环境关键信息,均可通过 DescribeEnvs 返回值获取:
| 信息 | 来源字段 | 用途 |
|---|---|---|
| 环境 ID | EnvId | 所有 API 调用的必要参数 |
| 数据库实例 ID | Databases[0].InstanceId | 数据库操作 |
| 存储桶名称 | Storages[0].Bucket | 文件上传 / 下载 |
| 云函数命名空间 | Functions[0].Namespace | 函数部署与调用 |
环境生命周期 API 参考
- 创建环境:CreateEnv
- 获取环境列表:DescribeEnvs
- 销毁环境:DestroyEnv
- 续费环境:RenewEnv
- 变更套餐:ModifyEnvPlan
大规模创建:环境池 API
如果你的平台需要为大量用户快速创建云开发环境(如 SaaS 多租户、C 端平台等场景),对环境创建的吞吐量和响应速度有较高要求,我们提供了环境池 API,支持预先批量创建环境并按需分配,可支撑海量云开发环境的快速创建和使用。
该能力需要联系云开发团队开白使用,请通过 提交腾讯云工单 或联系你的客户经理申请。
下一步
第一个环境创建完成后,接下来需要为每个用户环境签发 API Key: