发布于 2026-01-06 3 阅读
0

Appwrite 0.13 版本发布,存储和函数模块进行了重大升级。

Appwrite 0.13 版本发布,存储和功能方面均有重大升级

所需模块

Appwrite 0.12 发布仅一个月后,我们很高兴地宣布 Appwrite 0.13 发布。新版本包含多项主要功能,可将您的 Appwrite 使用体验提升到极致,并帮助您在闪亮、开源且自托管的后端即服务之上实现一些新的、令人兴奋的用例。

⏰ 太长不看

TLDR

此次新版本主要集中在两个方面。首先是Appwrite 存储。我们添加了许多新功能,包括存储桶、(尤其是)大文件支持流式下载,以及适用于S3、DigitalOcean Spaces和其他 S3 兼容设备的新存储适配器。

第二个改进领域是Appwrite 的云函数。全新的 Appwrite 函数 API 基于 open-runtimes 构建了我们新的执行器(关于 open-runtime 的更多信息,请参见下文),这使得 Appwrite 函数的执行性能提升了10 倍以上!并且现在支持用户期待已久的同步和异步执行。

除了这些主要新增功能外,您还可以期待多个全新和改进的 OAuth 适配器、新的日志记录提供程序、大量错误修复以及 Appwrite 控制台的一些用户界面改进。继续阅读,了解有关 0.13 版本的所有信息。

Appwrite新手?

Appwrite是一款开源的后端即服务 (BaaS),它通过提供一套 REST API 来满足您的核心后端需求,从而抽象化构建现代应用程序的所有复杂性。Appwrite 为开发人员承担了繁重的工作,并处理用户身份验证和授权、数据库、文件存储、云函数、Webhook 等等!

📦 储物桶

储物桶

存储桶与 Appwrite 数据库中的集合非常相似。存储桶允许您将不同的文件分组到相同的权限和设置下。对于每个存储桶,您可以定义它应该接受的文件类型、允许的最大文件大小,以及启用和禁用文件加密防病毒扫描

使用存储桶,您可以选择存储桶级别的权限或文件级别的权限,并为每个用户设置一个专用存储桶,或者为您的应用需要存储的每种文件类型(例如个人资料图片或 PDF 文件)设置一个存储桶。

🗄 存储适配器和 S3 支持

我们设计 Appwrite 的初衷是使其灵活且与技术无关,以便您能够将其与您喜爱的技术栈集成。在此版本中,您现在可以将S3 或兼容 S3 的服务(例如DigitalOcean Spaces)用作Appwrite 文件的存储适配器。

这样一来,您就可以使用托管解决方案快速扩展 Appwrite,这些解决方案涵盖所有 Appwrite 持久服务(存储和数据库)。通过这项更改,您架构中的 Appwrite 层将完全无状态,并且在自托管架构中更易于管理。此外,借助AWS、DigitalOcean 等云服务提供商,您还可以使用托管备份和监控解决方案,从而无需担心 Appwrite 存储层的管理。

此次版本发布开启了新的可能性,Appwrite 团队已经开始着手开发新的存储适配器,以实现更大的灵活性。您也可以使用我们更新后的贡献指南,轻松贡献新的存储适配器。

📈 支持(非常)大的文件

大文件

Appwrite 0.13 对存储 API 的另一项重大改进是支持超大文件上传。在之前的 Appwrite 版本中,每个文件都会加载到服务器内存中,这意味着您可以上传的最大文件大小受限于可用内存量。现在情况已有所改变。Appwrite 0.13 现在会在内部将文件分块处理,以确保您始终有足够的内存来处理其他 API 调用和后台任务。

理论上,一旦你修改了_APP_STORAGE_LIMIT环境变量,Appwrite 就不会对你上传的文件大小进行任何限制。也就是说,你可能会遇到其他文件系统或供应商的限制。例如,AWS 和 DigitalOcean S3服务的文件大小限制为5TBext4 文件系统的限制为16TB,而NTFS的限制为256TB

启用 Appwrite 的大文件支持后,Appwrite 服务器仍将支持内置的文件压缩和加密功能,但会将这些功能限制为小于或等于 20MB 的文件。这种设计确保了灵活性和性能之间的良好平衡。此外,借助存储桶支持,您还可以根据需要完全禁用文件压缩和加密。

🧑‍💻 CLI v2.0 和新的构建工作器

Appwrite CLI

除了 0.13 版本之外,我们也很高兴地宣布推出全新的Appwrite CLI 2.0 版本。新版本经过完全重写,将 CLI 与 Docker 解耦,并为部署新的云函数提供了更便捷高效的工作流程。

新版 CLI 2.0 将新增两个命令,init分别用于创建资源和deploy部署资源。此外,新版 CLI 还将支持不同语言的函数启动模板、用于管理项目创建、API 密钥等的控制台作用域,以及appwrite.json用于存储配置并将其部署到不同 Appwrite 实例的文件。

⚡️云函数运行速度显著提升

改进的功能

Appwrite 0.13 的最大改进之一是全新的函数运行时和执行架构。新架构使用 TCP 通信而非 Docker CLI 来启动、运行和执行函数。与之前的 Appwrite 版本相比,这种新的通信方式使预热函数的运行速度提升了 10 倍以上。

新架构还允许 Appwrite Functions API同步和异步执行函数。这项新功能将催生大量基于 Appwrite 函数的新用例,并使 Appwrite 的性能非常接近 GCP 和 AWS 等主流云服务提供商的无服务器架构。我们将很快发布最新的基准测试结果,以展示这些性能提升的具体表现。

🤩 更多功能

OAuth 提供程序

Appwrite 0.13 包含更多新功能。我们新增了Stripe 和 Notion两个 OAuth 提供程序。我们升级了 Microsoft OAuth 适配器,使其能够接受新的设置并更加灵活。此外,我们还新增了对OAuth 刷新令牌的支持,并添加了一个新的错误日志适配器,用于使用 LogOwl 管理 Appwrite 服务器错误。

在新版本中,我们还改进了 Appwrite API 显示的错误格式。现在,每个错误都包含一个特定类型的代码,具体内容请参阅官方文档中更新后的错误代码页面。

📚了解更多

Appwrite 0.13 包含更多值得关注的功能、错误修复和安全补丁,这些内容无法在一篇博文中一一列举。您可以查看我们的官方版本说明了解更多信息。在接下来的几周里,我们将继续推出 Appwrite 0.13 的发布活动,核心团队将制作更多内容、活动和演示,重点介绍 Appwrite 新版本中的各项功能和强大性能。敬请期待!

文章来源:https://dev.to/appwrite/announcing-appwrite-013-with-major-upgrades-to-storage-and-functions-3hpf