浏览全部文档 · 3/37

功能简介

能力矩阵把结论分成 SUPPORTED、APPBASE_ENHANCED、PARTIAL、NOT_EXPOSED 与 NOT_SUPPORTED。前两类可公开使用;PARTIAL 必须连同条件和缺口一起阅读;后两类不会作为产品能力发布。

当前支持范围

  • 消息触达(PARTIAL):API 与 SDK 可管理 Provider、Topic、Subscriber,并发送邮件、短信和推送;当前 Console 导航隐藏入口,实际发送还依赖外部 Provider。
  • 站点托管(PARTIAL):在启用 Sites 且准备好构建、运行时和代理组件的实例中,可部署静态或服务端渲染站点。
  • 多语言 SDK(PARTIAL):仓库提供 Web、移动端和多种服务端语言的 SDK 源码、生成产物与类型契约;具体包是否已发布须按语言和版本单独确认。
  • Schema Version 比较(PARTIAL):提交 Schema Version 时会自动与活动结构比较并生成执行计划;当前没有独立的只读差异预览接口。
  • Schema Version 重试(PARTIAL):待处理版本支持幂等续跑;失败版本需要修正目标结构后重新提交,当前没有独立 Retry 接口。
  • 网络访问控制(PARTIAL):内置 CORS、Origin 校验、HTTP 与 Realtime 限流、Project API 开关;DNS、证书、代理和跨网络连通性仍由部署环境负责。
  • 自托管部署(PARTIAL):提供 Docker Compose 与 Kubernetes/Helm 自托管资产;生产升级、容量、备份恢复和制品门禁必须由目标环境另行验证。

适用场景

  • 在架构评审前快速筛除未公开或未实现能力。
  • 核对 PARTIAL 能力需要补齐的部署、Console 或发布条件。
  • 为首页、Docs 与销售材料提供同一事实口径。

前置条件

  • 使用本页标注的 origin/main SHA。
  • Candidate-only 能力同时核对 Backend 与 Frontend Candidate SHA。
  • 对目标环境执行独立的容量、网络、Provider 与制品核验。

Console 操作路径

Console 不展示完整矩阵。具体入口请转到相应能力页;入口缺失、隐藏或受开关控制时,不得仅凭后端路由推断功能完整。

SDK 示例

SDK · TypeScript
import { Client } from 'appbase-web-sdk';

const client = new Client()
  .setEndpoint('https://<APPBASE_HOST>/v1')
  .setProject('<PROJECT_ID>');
// 以实际 SDK 导出为准;例如 Web SDK 有 REST 对应的核心服务。
import { Account, TablesDB, Storage, Functions, Realtime } from 'appbase-web-sdk';
void [Account, TablesDB, Storage, Functions, Realtime];

REST 示例

REST · Bash
# REST 可达性只能证明某个请求路径工作,不能代替完整能力验收。
curl -i 'https://<APPBASE_HOST>/v1/health/version'

权限模型

矩阵不改变任何权限。每个接口继续按其 AuthType、Scope、组织角色和资源 Permission 处理。

常见错误

现象处理建议
只看到路由或类型定义继续查找 Action 回调、认证元数据、SDK/Console 接入和测试证据。
页面称 PARTIAL 但目标环境不可用PARTIAL 表示有明确边界,不保证所有实例默认启用。
把 404 当作资源一定不存在安全查询可能把不可见资源归一化为 not found。

当前限制

  • NOT_EXPOSED:CLI、Schema repair、存储模式/转换、服务节点扩缩容、MySQL/OceanBase 适配、平台 Migration 控制面、Sites 自定义域名 CRUD。
  • NOT_SUPPORTED:SQL Proxy/MySQL 直连、模型训练与托管、统一 Agent Runtime、GraphQL Subscription。
  • 内部实现、运维 Runbook 与 Credential 不属于公开产品表面。

Appwrite 兼容说明

Appwrite Docs 只提供分类参考;本矩阵不会把上游分类自动继承为 AppBase 能力。

AppBase 增强说明

AppBase 增强项在独立页面说明其 API、Console、权限与失败语义;PARTIAL 页面明确写出“当前没有”或“依赖部署”的边界。

发布状态和验证 Commit

origin/main 条件支持。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353;使用前必须同时满足本页“当前限制”。

权威来源文件列表

  • backend-candidate:app/controllers/api/messaging.php
  • backend-candidate:app/controllers/shared/api/rate-limit.php
  • backend-candidate:app/realtime.php
  • backend-candidate:packages/sdks/client-*
  • backend-candidate:packages/sdks/server-*
  • backend-candidate:src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Schema/CreateVersion.php
  • backend-candidate:src/Appwrite/Platform/Modules/Databases/Schema/SchemaDiffer.php
  • backend-candidate:src/Appwrite/Platform/Modules/Databases/Schema/SchemaVersionService.php
  • backend-candidate:src/Appwrite/Platform/Modules/Sites/Http/Sites/
  • backend-candidate:tests/e2e/General/HTTPTest.php
  • backend-candidate:tests/e2e/Services/Messaging/MessagingBase.php
  • backend-candidate:tests/e2e/Services/RateLimitTest.php
  • backend-candidate:tests/e2e/Services/Sites/SitesCustomServerTest.php
  • backend-candidate:tests/e2e/Services/TablesDB/TablesDBSchemaVersioningTest.php
  • backend-candidate:tests/unit/SDK/
  • frontend-candidate:console/src/lib/components/sidebar.svelte
  • frontend-candidate:console/src/routes/(console)/project-[region]-[project]/sites/
  • frontend-candidate:packages/sdks/console-web/src/services/messaging.ts
  • negative-evidence:未发现 first-class retry HTTP action
  • negative-evidence:未发现独立的只读 compare 或 preview HTTP API
  • origin-main:DEPLOY-k8s.md
  • origin-main:deploy/appwrite-helm/Chart.yaml
  • origin-main:deploy/appwrite-helm/values.yaml
  • origin-main:docker-compose.yml
  • origin-main:docs/products/v2.3.x/sdks/

Appwrite taxonomy 仅作信息架构参考:https://appwrite.io/docs/advanced/networkhttps://appwrite.io/docs/advanced/self-hostinghttps://appwrite.io/docs/products/databaseshttps://appwrite.io/docs/products/messaginghttps://appwrite.io/docs/products/siteshttps://appwrite.io/docs/sdks。上游页面不是 AppBase 实现证据。

继续阅读