跳到主要内容

云开发环境介绍

云开发环境(Environment) 是云开发的资源隔离单位与计费单位。一个环境内包含一整套独立的数据库、云存储、云函数、云托管、身份认证、AI 能力与配额,环境之间数据完全隔离。

核心概念​

概念说明
环境 ID全局唯一标识,SDK 初始化、API 调用都需要传入

环境包含哪些资源​

  • 数据库:PostgreSQL 数据库(创建环境时选择,环境自动以 PG 模式运行);如需文档型数据库能力,可在 PostgreSQL 数据库中启用 Document 插件
  • 云存储:对象存储 + CDN 加速
  • 计算:云函数(FaaS)、云托管(容器)
  • 静态网站托管:前端构建产物一键部署
  • HTTP 网关:将云函数 / 云托管暴露为公网 HTTP 接口
  • 身份认证:用户管理、登录方式、JWT 颁发
  • AI:大模型、知识库、Agent

环境运行模式:PG 模式 vs 传统模式​

云开发环境的运行模式分两种: PostgreSQL 数据库,环境即以 PG 模式 运行;以及 传统模式。两类运行模式的差异如下:

  • PG 模式:身份认证、云存储、权限模型由 PostgreSQL 统一承载,用 SQL(GRANT + RLS)表达;业务数据可继续使用文档型数据库,也可使用同一个 PostgreSQL 实例存储关系型数据
  • 传统模式:身份认证、云存储、权限模型作为独立子系统运行;数据库默认提供文档型数据库
延伸阅读

如果你正在评估或准备使用 PostgreSQL 数据库能力,建议继续阅读 PG 模式概述,了解身份认证、云存储、权限模型如何由 PostgreSQL 统一承载,以及文档型数据库与 PostgreSQL 如何并存。

运行模式限制

PG 模式仅新建环境支持,存量环境不支持升级,不可切换

如何判断环境的运行模式​

调用 DescribeEnvs 接口,检查返回的 EnvInfo 中是否包含 PostgreSQL 字段:

  • PostgreSQL 数组非空(包含实例信息)→ 该环境以 PG 模式 运行
  • PostgreSQL 字段为空或不存在 → 该环境为 传统模式
// PG 环境示例(PostgreSQL 字段非空)
{
"EnvInfo": {
"EnvId": "your-env-id",
"PostgreSQL": [
{
"InstanceName": "postgres-xxxxxxx",
"Name": "postgres",
"Region": "ap-shanghai",
"Status": 1,
"Version": "17.6"
}
]
}
}

两类运行模式对比​

维度传统模式PG 模式
账号体系身份认证作为独立模块运行,与数据库权限模型解耦账号数据存储在 auth schema 下,账号信息与 PostgreSQL 权限模型联动,JWT claims 可在 SQL 中直读
云存储权限使用独立的安全规则控制存储访问由 PostgreSQL RLS 策略统一控制,与数据库权限模型保持一致
数据权限模型文档型数据库使用安全规则控制访问PostgreSQL 使用 GRANT(表级)+ RLS(行级)控制访问
访问角色按云开发身份与安全规则判断访问权限支持 anon / authenticated / service_role 三类访问角色

下一步​