SuperAPI AI 工具集

appwrite-kotlin

编程与开发

查看项目

更新于 10-15 13:10

技能介绍

Appwrite Kotlin SDK 是 Appwrite 官方提供的 Kotlin 客户端库,适用于构建原生 Android 应用或服务端 Kotlin/JVM 后端。

安装

在 build.gradle.kts 中添加依赖:

Android:

implementation("io.appwrite:sdk-for-android:+")

服务端 Kotlin JVM:

implementation("io.appwrite:sdk-for-kotlin:+")

初始化客户端

客户端(Android)使用 Client(context),并设置 endpoint 与 project。服务端(Kotlin JVM)使用无参 Client(),另外通过环境变量设置 API key。示例:

val client = Client(context)
    .setEndpoint("https://<REGION>.cloud.appwrite.io/v1")
    .setProject("[PROJECT_ID]")
val client = Client()
    .setEndpoint("https://<REGION>.cloud.appwrite.io/v1")
    .setProject(System.getenv("APPWRITE_PROJECT_ID"))
    .setKey(System.getenv("APPWRITE_API_KEY"))

主要能力

  • 认证:客户端支持邮箱密码注册与登录、OAuth2、获取当前用户、登出等,使用 Account 服务。
  • 用户管理(服务端):使用 Users 服务创建、列出、获取、删除用户。
  • 数据库操作:使用 TablesDB 服务进行数据库、表与行的创建、查询、读取、更新与删除。文档特别指出新代码应使用 TablesDB,而不是已弃用的 Databases 类,并建议使用具名参数调用 SDK 方法。
  • 字符串列类型:文档说明 varchar 为行内存储、最大 16,383 字符、在 size ≤ 768 时可建完整索引;text、mediumtext、longtext 为 off-page 存储,仅在前缀建索引,容量分别约 4MB 与 1GB。varchar 计入 64 KB 行大小限制,适合短小可索引字段。
  • 查询方法:提供过滤(equal、notEqual、lessThan、greaterThan、between、isNull、startsWith、endsWith、contains、search 等)、排序、分页(limit、offset、cursorAfter、cursorBefore)、选择字段与逻辑组合(or、and)。
  • 文件存储:使用 Storage 服务上传、获取预览、列出与删除文件,支持 InputFile.fromPath 与 InputFile.fromBytes。
  • 团队:使用 Teams 服务创建团队、列出团队、创建成员邀请、列出成员、更新成员角色、删除团队,并说明使用 Role.team 设置基于团队与角色的权限。
  • 实时订阅(客户端):使用 Realtime 服务订阅行变更、文件变更等频道,支持多频道订阅与关闭。文档列出 account、tablesdb、buckets、teams、memberships、functions 等可用频道,响应包含 events、payload、channels、timestamp 字段。
  • Serverless Functions(服务端):使用 Functions 服务执行函数与列出执行记录;并提供 Kotlin runtime 的函数入口 main 示例,说明 context.req、context.log、context.res 的用法。
  • SSR 认证:针对 Ktor、Spring Boot 等 Kotlin 服务端框架,说明需使用两个客户端——可复用的 admin client(API key)与按请求创建的 session client(会话 cookie)。给出邮箱密码登录、认证请求、OAuth2 SSR 流程的处理示例,并强调 cookie 需设置 httpOnly、secure、SameSite=Strict,且 cookie 名必须为 a_session_<PROJECT_ID>。
  • 错误处理:通过 AppwriteException 获取 message、code、type、response,并列出了 401、403、404、409、429 常见错误码含义。
  • 权限与角色:Appwrite 使用权限字符串控制访问,每个权限将动作(read、update、delete、create 或 write)与角色目标组合。默认无用户可访问,除非在行/文件级显式设置权限或从表/桶级继承。文档给出使用 Permission 与 Role 设置数据库行与文件上传权限的示例,并列出常见错误(忘记权限、对写操作使用 Role.any()、对敏感数据使用公开读权限)。

适用场景

适用于构建原生 Android 应用,以及使用 Kotlin JVM 编写 Appwrite 后端逻辑、SSR 应用(如 Ktor、Spring Boot)、Serverless Functions 等场景。

限制

  • 文档未提供收费、价格或平台支持范围等信息。
  • 文档未提供除上述内容之外的功能、性能或效果说明。

分类

由于该技能面向使用 Appwrite Kotlin SDK 开发 Android 应用与 Kotlin 后端,属于编程与开发范畴。