用途:在 C# / .NET 服务端应用(含 ASP.NET、Blazor Server 等 SSR 框架)中集成 Appwrite,通过官方 .NET SDK 调用后端服务。
安装与初始化:使用 dotnet add package Appwrite 安装。通过 new Client() 设置 SetEndpoint、SetProject、SetKey(API Key 从环境变量读取)。
主要能力:
- 用户管理:Users 服务的创建、列出、获取、删除用户。
- 数据库:使用 TablesDB(新代码不建议用已弃用的 Databases),支持创建库、建表、增删改查行,以及 Query.Equal、Limit、Offset、CursorAfter、Or/And 等查询方法。字符串列类型推荐显式声明 varchar、text、mediumtext、longtext,注意 varchar 行内存储并计入 64 KB 行限制,其余为行外存储。
- 文件存储:Storage 的 CreateFile、ListFiles、DeleteFile,输入可用 InputFile.FromPath/FromBytes/FromStream。
- 团队:Teams 的创建、列出、成员邀请与角色更新,配合 Role.Team 设置权限。
- 函数:Functions 的执行与执行记录查询,并给出 .NET 运行时 Main(RuntimeContext) 入口写法。
- SSR 认证:区分 Admin 客户端(API Key,可复用)与 Session 客户端(按请求创建),演示邮箱密码登录、OAuth2 流程、会话 Cookie(名称须为 a_session_<PROJECT_ID>)及 HttpOnly/Secure/SameSite 安全设置。
- 权限:Permission 与 Role 组合字符串,支持在文档/文件级或集合/桶级设置,常见错误包括遗漏权限、对敏感数据开放 Role.Any() 读、对写操作使用 Role.Any()。
错误处理:捕获 AppwriteException,读取 Message、Code、Type、Response,并说明 401、403、404、409、429 等状态码含义。
限制:需具备 Appwrite 项目、Endpoint、Project ID、API Key 与相应资源 ID 才能运行;资料未提供收费、价格、配额与限流阈值等细节。