宣布 Appwrite 0.13 需要对存储和功能模块进行重大升级
Appwrite 0.12 发布仅一个月后,我们很高兴地宣布 Appwrite 0.13 的发布。新版本包括多项主要功能,可将您的 Appwrite 体验发挥到极致,并帮助您在闪亮的、开源的和自托管的后端即服务之上实现一些令人兴奋的新用例。
⏰ TL;DR
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--mVf7h79B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads .s3.amazonaws.com/uploads/articles/exoxagqjkh1sda6ni0vj.png)
这个新版本集中在两个主要领域。第一个是Appwrite 存储。我们添加了许多新功能,包括 buckets、(尤其是)大文件支持、流下载,以及用于 S3、DigitalOcean Spaces 的新存储适配器,和其他 S3 兼容设备。
第二个改进领域是 Appwrite 的 Cloud Functions。 新的 Appwrite Functions API 使用我们在 open-runtimes 之上构建的新执行程序(更多关于 open-runtime 的内容),它将 Appwrite 函数的执行性能提高了 10 倍以上(!) 现在允许期待已久的 sync 和 async 执行。
除了这些主要新增功能之外,您还可以期待多个新的和改进的 OAuth 适配器、新的日志记录提供程序、许多错误修复以及对 Appwrite 控制台的一些 UI 改进。继续阅读以了解您需要了解的有关 0.13 版本的所有信息。
##Appwrite 新手?
Appwrite是一种开源后端即服务,它通过为您提供一组 REST API 来满足您的核心后端需求,从而抽象出构建现代应用程序的所有复杂性。 Appwrite 为开发人员承担了繁重的工作,并处理用户身份验证和授权、数据库、文件存储、云功能、webhook 等等!
📦 存储桶
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--gkrfJFT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/163r12p6fnxipiwgzxm0.png)
存储桶与 Appwrite 数据库的集合非常相似。存储桶允许您在相同的权限和设置下对不同的文件进行分组。对于每个存储桶,您可以定义它应该接受的文件类型、允许的最大文件大小以及切换文件加密和文件防病毒扫描。
使用存储桶,您可以在存储桶级别或文件级别权限之间进行选择,并为每个用户设置一个专用存储桶或为您的应用程序需要存储的每种文件类型设置一个存储桶,例如配置文件图像或 PDF 文件。
🗄 存储适配器和 S3 支持
我们将 Appwrite 设计为灵活且与技术无关,其理念是您应该能够将 Appwrite 与您最喜欢的技术堆栈集成。在此版本中,您现在可以将 S3 或 S3 兼容 服务(如 DigitalOcean 空间)用作 Appwrite 文件的存储适配器。
这允许您使用所有 Appwrite 持久服务(存储和数据库)的托管解决方案快速扩展 Appwrite。通过此更改,您的设置的 Appwrite 层变得完全无状态,并且在自托管设置上更易于管理。此外,借助 AWS、DigitalOcean 和其他等云提供商,您还可以利用托管备份和监控解决方案,无需担心管理您的 Appwrite 存储层。
此版本开启了新的可能性,Appwrite 团队已经开始研究新的存储适配器以获得更大的灵活性。使用我们更新的贡献指南也可以贡献一个新的存储适配器并且相对简单。
📈 支持(非常)大文件
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--HBnxLDb0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/n0jhc6l89zzeyjy8r9zv.png)
Appwrite 0.13 添加到存储 API 的另一项重大改进是支持非常大的文件上传。在以前的 Appwrite 版本中,每个文件都会加载到您的服务器内存中,这意味着您可以上传的最大文件受限于您可用的可用内存量。这已不再是这种情况。 Appwrite 0.13 现在在内部处理小块文件,以确保您始终有足够的可用内存来服务其他 API 调用和后台作业。
从理论上讲,一旦您更改了_APP_STORAGE_LIMITenv var,Appwrite 就不会对您要上传的文件大小施加任何限制。也就是说,您可能会遇到其他文件系统或供应商限制。例如,AWS 和 DigitalOcean S3 服务的文件大小限制为 5TB,ext4 文件系统 的限制为 16TB,NTFS 的限制为256TB。
在 Appwrite 中启用大文件支持后,Appwrite 服务器仍将支持压缩和加密文件的内置功能,但将这些功能限制为小于或等于 20MB 的文件。这种设计确保我们在灵活性和性能之间保持良好的平衡。借助存储桶支持,您还可以自行决定完全禁用文件压缩和加密。
🧑u200d💻 CLI v2.0 和新的 Build Worker
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--sQKile3k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/2g1q9aaud0mq5b9f8mz0.png)
除了 0.13 版,我们也很高兴分享新的 Appwrite CLI 2.0 版的发布。新版本完全重写以将我们的 CLI 与 Docker 分离,并为部署新的 Cloud Functions 提供更好、更轻松的工作流程。
新的 CLI 2.0 将有两个新命令,init用于创建资源,deploy用于部署资源。新的 CLI 还将支持不同语言的 Functions 的入门模板、管理项目创建的控制台范围、API 密钥等,以及一个appwrite.json文件来存储您的配置并部署在不同的 Appwrite 实例上。
⚡️ 改进和(方式)更快的云函数运行时间
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--mnWzJ9VU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/z401azyztzoc8w4orzgi.png)
Appwrite 0.13 的最大改进之一是我们的新的 Functions 运行时和执行架构。新架构使用 TCP 通信而不是 Docker CLI 来启动、运行和执行功能。与以前的 Appwrite 版本相比,新的通信方法允许暖函数的运行速度快 10 倍以上。
新架构还允许 Appwrite Functions API 同步和异步执行函数。这种新功能应该允许在 Appwrite 功能之上构建大量新用例,并使 Appwrite 非常接近 GCP 和 AWS 等主要云提供商的无服务器功能。我们将很快发布最新的基准测试,以强调新的性能改进是什么样子的。
🤩 更多功能
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--q6S1fsF8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/o3ct4p9damc35huclasc.png)
Appwrite 0.13 包含更多新功能。我们为 Stripe 和 Notion 添加了两个新的 OAuth 提供程序。我们已经升级了 Microsoft OAuth 适配器以接受新设置并更加灵活。添加了对 OAuth 刷新令牌 的新支持,我们添加了一个 新的错误日志适配器,用于使用 LogOwl 管理您的 Appwrite 服务器错误。
在新版本中,我们还改进了 Appwrite API 显示的错误格式。现在,每个错误都包含特定类型的代码,如官方文档中更新的错误代码页面中所述。
📚 了解更多
Appwrite 0.13 包含更多您应该真正关心的功能、错误修复和安全补丁,而这些只是一篇博客文章无法容纳的。您可以通过查看我们的官方发布说明了解更多信息。在接下来的几周内,我们将继续举办 Appwrite 0.13 发布派对,其中包含更多由核心团队创建的内容、活动和演示,以突出这个新版本 Appwrite 的不同特性和强大功能。敬请关注!
更多推荐


所有评论(0)