用途:该技能面向使用 Python 构建服务端应用的场景,帮助在 Django、Flask、FastAPI 等框架中集成 Appwrite Python SDK。
安装与初始化:安装命令为 pip install appwrite。初始化 Client 时设置 set_endpoint、set_project 与 set_key(密钥来自环境变量)。
主要能力:用户管理(创建、列表、获取、删除用户);数据库操作使用 TablesDB 类,支持创建库、创建/查询/获取/更新/删除行,并可用 Query 进行过滤、排序、分页与字段选择;字符串列类型提供 varchar、text、mediumtext、longtext,新的列应使用显式类型,避免已废弃的 string 类型,且新代码应使用 TablesDB 而非已废弃的 Databases 类。存储方面支持上传、列表、删除文件,可用 InputFile 从路径、字节或字符串创建文件。团队支持创建团队、邀请成员、管理成员角色。无服务器函数支持执行与列出执行,Python 运行时入口为 main(context),通过 context.req 读取请求、context.res 返回 JSON、文本、空响应或重定向。
SSR 认证:服务端渲染应用需区分管理员客户端(用 API key,可复用)与会话客户端(用会话 cookie,按请求创建)。登录后可将会话写入名为 a_session_<PROJECT_ID> 的 cookie,建议 httponly、secure、samesite='Strict'。OAuth2 流程为生成授权链接,再在回调中换取会话。
权限与错误:权限由 Permission 与 Role 辅助构建,未显式设置权限时用户默认无权访问;应避免对敏感数据使用 Role.any() 写权限。错误通过 AppwriteException 捕获,可读取 message、code、type 与 response,常见状态码包括 401、403、404、409、429。
限制:资料未提供具体收费标准、平台支持范围或性能指标,使用前需自行确认环境与配额。