用途:在服务端 Python 应用(Django、Flask、FastAPI 等)中集成 Appwrite,通过官方 Python SDK 调用用户、数据库、存储、团队与函数等服务。
安装与初始化:pip install appwrite。使用 Client 设置 endpoint、project 与 API key,再实例化各服务类。
主要能力:用户管理(创建、列表、获取、删除);数据库操作使用 TablesDB(新代码应避免已弃用的 Databases),支持创建库/表/行、查询与增删改;字符串列类型含 varchar、text、mediumtext、longtext,varchar 内联存储且可全索引,其余为页外存储仅前缀索引;Query 提供过滤、排序、分页(推荐 cursor_after)、字段选择与逻辑组合;文件存储支持上传、列表、删除,InputFile 可从路径、字节或字符串构造;Teams 支持团队与成员管理及基于角色的权限;Functions 可执行函数并列出执行记录,函数入口为 main(context),通过 context.req/res 处理请求响应。
SSR 认证:需区分 admin client(API key,可复用)与 session client(按请求创建,使用会话 cookie)。邮箱密码登录与 OAuth2 流程均通过 Account 服务创建会话,cookie 名必须为 a_session_<PROJECT_ID>,并设置 httponly、secure、samesite='Strict'。
权限:使用 Permission 与 Role 构造权限字符串,可针对用户、团队或任何人设置 read/update/delete/create/write;未显式设置权限时资源默认不可访问。
限制与注意:Query.limit 默认 25、最大 100;错误通过 AppwriteException 获取 message、code、type、response,常见状态码含 401、403、404、409、429。资料未提供收费、价格与平台支持范围等信息。