平台接入云开发方案
CloudBase for Platform 是什么
面向 AI Coding、Vibe Coding、Agent 等平台(如 OpenClaw、Lovable、Bolt.new、Vercel v0、Figma Make)的解决方案,让任意平台/Agent可以代替它的用户来配置和管理后端。平台希望向终端用户提供更无缝的流程、即开即用的后端能力,同时不暴露数据库、云函数、对象存储等底层资源的复杂性——用户不必理解这些概念,即可通过一句话或简单操作获得一个可用的应用。
您能获得什么:用云开发为您的每个租户提供一个独立环境,每个环境内包含数据库、云函数、静态托管和统一的 HTTP 访问入口;租户之间资源隔离,您通过腾讯云 API 即可完成创建、计费、部署、数据库与监控的自动化管理。
适用场景:SaaS、内部业务平台、多租户系统,或 AI Coding / Vibe Coding 平台——希望为每个客户/租户提供可隔离的后端能力,并通过 API 而非仅控制台来管理。
管理单元:以环境为单位。一个环境 = 一个租户的一整套资源(数据库、云函数、HTTP 访问服务、静态托管等),通常一租户一环境。所有能力均通过 腾讯云开发 API 以编程方式管理。
腾讯云账号与环境的关系:采用大账号模式——您使用一个腾讯云账号(主账号或具备云开发权限的子用户),即可在该账号下创建多个环境。每个租户对应一个环境,所有环境的资源与计费均归属该账号,便于您统一管理、统一出账。环境个数受账号配额限制,创建前可通过 API 查询环境个数上限;如需调整上限,可联系我们。
账号、环境与资源层级关系如下:
创建环境与计费
为新租户创建环境,并管理其计费与配额。
操作步骤
第一步:确认前置条件
创建前需通过以下接口确认账号状态与可用资源:
- 检查是否已开通云开发服务:CheckTcbService
- 查询环境个数上限:DescribeEnvLimit
- 获取可用地域列表:DescribeTcbRegions
- 获取可用套餐列表:DescribeBaasPackageList
第二步:调用 CreateEnv 创建环境
调用 CreateEnv 接口,接口会自动下单并扣款。关键参数:
| 参数 | 说明 |
|---|---|
PackageId | 套餐 ID,如 baas_personal;可通过 DescribeBaasPackageList 获取 |
Alias | 环境别名 |
Resources | 本次一并开通的资源类型,见下表 |
Period | 购买时长(月,默认 1) |
Tags | 环境标签,用于权限隔离与资源分组;建议按租户 ID、业务线打标 |
Resources 可选值:
| 取值 | 说明 |
|---|---|
flexdb | 文档型数据库(NoSQL),兼容 MongoDB 风格 API |
storage | 对象存储(云存储) |
function | 云函数(含 HTTP 云函数) |
按业务需要从上述类型中选择;其余资源(如 MySQL)可在环境创建后按需开通。
第三步:等待发货并确认状态
环境发货为异步行为,调用 DescribeEnvs 轮询,直至环境状态变为可用。确认后可进一步查询用量与计费:
- 查询环境计费信息:DescribeEnvBilling
- 查询环境配额使用量:DescribeEnvLimit
配额注意事项:COS 资源和云函数(非上海地域)均存在账号级或地域级配额上限;计划批量创建大量环境时,建议提前与云开发团队进行配额评估。
环境生命周期 API 参考
- 创建环境:CreateEnv
- 获取环境列表:DescribeEnvs
- 销毁环境:DestroyEnv
- 续费环境:RenewEnv
- 变更套餐:ModifyEnvPlan
为租户部署后端服务
请求经 HTTP 访问服务 统一入口,按路由转发至对应云函数。支持 REST API、WebSocket 长连接,以及容器镜像部署。
从获取环境信息到对外可访问的完整调用流程:
操作步骤
第一步:创建日志配置
- 调用 CreateLogset 创建日志集,获取返回的
LogsetId - 调用 CreateTopic 创建日志主题,传入上一步的
LogsetId,获取返回的TopicId - 创建日志角色(用于日志投递):在 CAM 角色控制台 创建角色,选择腾讯云产品服务,角色载体选择
scf和cls,关联自定义策略(仅授予日志写入权限,防止跨环境日志越权),记录角色名称(如SCF_CLSWriteOnly),后续在配置或函数创建时使用
后续创建函数时,将 LogsetId / TopicId 作为 ClsLogsetId / ClsTopicId 传入,并将角色名称作为 Role 传入。
第二步:打包并上传代码
将函数目录打包为 ZIP 并 Base64 编码,上限 50 MB。超过时需先上传至 COS,再通过 CosBucketName / CosObjectName / CosBucketRegion 引用(桶名不含 -appid 后缀,路径以 / 开头)。
第三步:创建或更新函数
调用 CreateFunction 或 UpdateFunctionCode。必填参数:Type: 'HTTP'、Namespace(云开发环境 ID)、Handler。同时传入第一步获取的日志配置:ClsLogsetId、ClsTopicId,以及日志角色名称 Role。WebSocket 函数额外需要 ProtocolType: 'WS',详见 WebSocket 函数。
第四步:等待函数就绪
轮询 ListFunctions 直至 Status = Active。
第五步:配置 HTTP 访问服务路由
调用 CreateHTTPServiceRoute。该接口要求传入 EnvId 与 Domain 对象;Domain 中包含域名配置与 Routes 路由规则。示例结构:
{
"EnvId": "<env-id>",
"Domain": {
"Domain": "api.example.com",
"AccessType": "DIRECT",
"Protocol": "HTTP_AND_HTTPS",
"CertId": "<cert-id>",
"Enable": true,
"Routes": [
{
"Path": "/api/v1",
"UpstreamResourceType": "<upstream-resource-type>",
"UpstreamResourceName": "<resource-name>",
"EnableSafeDomain": false,
"EnablePathTransmission": false,
"Enable": true
}
]
}
}
注意:旧 GWAPI 里的 Type 数字类型(例如历史示例中的 6)在新接口中已经改为 UpstreamResourceType 枚举字段,不再直接写魔数;请按当前上游资源类型填写对应枚举值。官方当前示例里的云托管服务使用 "CBR"。
如仅需先创建域名信息,可只传 Domain 而不传 Routes。
第六步:确认路由已生效
调用 DescribeHTTPServiceRoute,传入 EnvId,并可结合 Filters 按 Domain、Path 精确查询。检查返回的 Domains[].Status 与 Domains[].DNSStatus:
Status = SUCCESS:配置已生效DNSStatus = SUCCESS:DNS 已生效Status = PROCESSING:仍需继续轮询
接口返回成功后,路由下发仍可能有短暂延迟,建议再通过 HTTP / HTTPS 实际探测一次。
(可选)增量维护路由
- 修改已有域名或路由:调用 ModifyHTTPServiceRoute
- 删除指定 Path 或整个域名配置:调用 DeleteHTTPServiceRoute
以上云 API 可通过 管理面 SDK commonService 统一发起;也可直接使用 腾讯云 SDK 3.0 调用云函数 API,支持 Python、Java、PHP、Go、Node.js、.NET、C++、Ruby 等多语言。
云函数 API 参考
Namespace 传入云开发环境 ID,即可在对应环境下操作函数;完整参数见 云函数 API 概览。
此外,调用 SCF 云函数接口时还需传入以下两个参数:
Stamp:固定值"MINI_QCBASE"Role:云函数执行角色名称