Appwrite 1.5 已在云端发布 - 四月产品更新

2024-05-12 01:44

本文主要是介绍Appwrite 1.5 已在云端发布 - 四月产品更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

Hello, Appwriters👋

以下是四月份的产品更新和一个令人兴奋的消息: Appwrite 1.5 已在 Appwrite Cloud 上发布。这个版本备受期待,我们很高兴终于能与大家分享这个好消息。

为了让您快速复习,您现在可以开始使用云计算平台上的所有新产品和功能:

  • Messaging
  • Improved SSR
  • Database operators
  • 2FA
  • Enums SDK support
  • Custom token login

您无需采取任何措施,因为您的项目已经迁移到 Appwrite 1.5。

在这里插入图片描述

作为1.5版本的一部分,Appwrite在Init期间发布了许多新产品和功能。虽然新的Appwrite产品和功能已经可以在自托管平台上使用,但还没有发布到云平台上。今天,我们很高兴地宣布,Appwrite 1.5云版本终于发布了,等待终于结束了。

为了让您耳目一新,下面概述了发布到云平台的所有产品和功能,以及如何开始使用。

Messaging 消息通知

只需几行后台代码,您现在就可以使用云技术为您的应用程序设置一个功能齐全的消息服务,在一个统一的 API 下涵盖三种重要的通信渠道。您可以通过 Twilio、APNS、Firebase Cloud Messaging、Vonage、Sendgrid 和 Mailgun 等流行的第三方提供商发送短信、电子邮件和推送通知。

亮点

  • 短信、电子邮件和推送通知的统一平台。
  • 与领先的第三方消息服务集成。
  • 简化消息服务的后台代码。
  • 功能齐全的信息发送控制台,用于组织信息、收件人和提供者。

Emails 邮件

通过 Appwrite Messaging,您可以向应用程序的用户发送自定义电子邮件。 Appwrite 支持 Mailgun 和 Sendgrid 作为 SMTP 提供程序。您必须先将其中之一配置为提供程序,然后才能开始。

完成设置后,就可以使用服务器 SDK 发送电子邮件了。要立即发送电子邮件,可以调用 createEmail 端点,并将计划留空。

下面是使用 Swift 时的样子

import Appwritelet client = Client().setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint.setProject("5df5acd0d48c2")                 // Your project ID.setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API keylet messaging = Messaging(client)let message = try await messaging.createEmail(messageId: ID.unique(),subject: "April's Newsletter",content: newsletterContent,topics: ["news-letter"]draft: xfalse,html: xtrue,scheduledAt: "2024-04-29T20:55:41+0000"
)

在我们的文档中了解如何开始使用电子邮件:https://appwrite.io/docs/products/messaging/send-email-messages。

SMS 短信

要向用户发送短信,您需要添加 SMPT 提供商。Appwrite 支持 Twilio、MSG91、Telesign、TextMagic 和 Vonage。

您可以使用服务器 SDK 发送 SMS 消息。要立即发送 SMS 消息,您可以调用 createSMS 端点,而无需传递草稿或 scheduled 参数。

import Appwritelet client = Client().setEndpoint("https://cloud.appwrite.io/v1")  // Your API Endpoint.setProject("5df5acd0d48c2")                  // Your project ID.setKey("919c2d18fb5d4...a2ae413da83346ad2")  // Your secret API keylet messaging = Messaging(client)let message = try await messaging.createSMS(messageId: ID.unique(),content: "Don't forget your Wednesday meeting at 10am!",users: ["413da83346a"]
)

在我们的文档中了解如何开始使用短信:https://appwrite.io/docs/products/messaging/send-sms-messages。

Push notifications 推送通知

如果您正在构建移动应用程序,请注意推送通知必须通过第三方提供商发送,如 Apple Push Notification 服务和 Firebase Cloud Messaging。苹果和安卓设备的推送通知 API 只能通过这些服务访问。

在发送第一条推送通知之前,您必须配置这些服务。

要使用 APNS 发送,您必须首先使用 (_:didFinishLaunchingWithOptions:) 方法在应用程序委托的应用程序中注册远程通知。

func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {// Register for remote notificationsUNUserNotificationCenter.current().delegate = selflet authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]UNUserNotificationCenter.current().requestAuthorization(options: authOptions,completionHandler: { granted, error inDispatchQueue.main.async {if granted {application.registerForRemoteNotifications()}}})return true
}

在我们的文档中了解如何为 Apple 和 Android 设置推送通知。

  • ANPS:https://appwrite.io/docs/products/messaging/apns
  • FCM:https://appwrite.io/docs/products/messaging/fcm

改进了对服务器端渲染 (SSR) 的支持

Appwrite Cloud 1.5 增强了对 SSR 身份验证模式的支持,优化了平台以与 NextJS、SvelteKit 和 Nuxt 等框架一起使用。此更新引入了在服务器端生成和访问会话的官方方法,允许无缝会话 cookie 管理和授权请求,从而弥合客户端和服务器端渲染之间的差距。

亮点

  • 增强的 SSR 身份验证支持。
  • 改进了 SSR 框架的会话管理。
  • 会话生成和访问的正式方法。

最大的变化是 Appwrite 现在允许您生成和访问会话服务器端以设置会话 cookie 并使用这些会话来授权未来的请求。

const session = account.createEmailPasswordSession(email, password)
console.log(session.secret) // Output: 'eyJpZCI...sdfahfkjjy'

使用新的 setSession 方法,我们现在可以从 cookie 中检索会话密钥,并授权用户向我们的服务器执行经过身份验证的请求。

client.setSession(session.secret)
const currentUser = await account.get()

双因素身份验证 (2FA)

通过添加双因素身份验证 (2FA),安全性占据了首位。这项新功能通过要求第二种形式的身份验证来实现额外的安全层。您可以使用 Appwrite 的简单方法来创建挑战和解决方案,轻松实施 2FA,为用户提供通过电话、电子邮件或使用身份验证器应用程序的 TOTP 进行身份验证的选项。

亮点

  • 通过双因素身份验证增强安全性。
  • 轻松实施 2FA 挑战。
  • 支持多种身份验证方式,包括电话、电子邮件、TOTP。
  • 可以与您使用 Appwrite Auth 实施的任何现有身份验证方法结合使用。

启用 2FA

要使用 2FA,需要在用户帐户上启用它。这可以通过调用 account.updateMFA() 来实现。

import { Client, Account } from "appwrite";// Init SDK
const client = new Client();client.setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint.setProject('<YOUR_PROJECT_ID>'); // Your project IDconst account = new Account(client);// Include any account creation/management stepsconst mfa = await account.updateMFA(true); // Enables 2FA

请阅读 2FA 公告以了解功能的完整概述,或访问我们的文档以开始使用。

新的数据库运算符(Database operators)

新的数据库操作符 containsor,为数据库查询提供了更大的控制力和灵活性。这些运算符允许部分文本匹配、数组元素匹配和逻辑 OR 查询,大大增强了处理复杂数据检索和操作任务的能力。

亮点

  • 新的数据库操作符 containsor
  • 增强查询灵活性和控制能力
  • 支持复杂的数据检索和操作

添加运算符

contains 运算符是对现有文本搜索运算符(例如startsWithendsWith)的一个很好的补充,并且可以与这两个运算符结合使用。

db.listDocuments('<DATABASE_ID>','<COLLECTION_ID>',[Query.contains('content', ['happy', 'love']),]
)

要使用 OR 运算符,请将 Query.or([...]) 传递给查询数组,并在嵌套数组中提供至少两个查询。

db.listDocuments('<DATABASE_ID>','<COLLECTION_ID>',[Query.or([Query.contains('name','ivy'),Query.greaterThan('age',30)])]
)

阅读数据库操作符公告,了解功能的全面概述,或访问我们的文档,开始使用。

枚举 SDK(Enum SDK)支持

Enum SDK 支持扩展了 Appwrite SDK 在不同编程场景中的多功能性和可用性。

亮点

  • 枚举支持提高了类型安全性和代码可读性。

枚举和 OAuth

SDK 枚举最常见的例子之一是 OAuth 提供程序。要使用 Apple 登录,必须传递 Apple 字符串作为提供程序。有了枚举,您就可以用 OAuthProvider.Apple 代替。

import { Client, Account, OAuthProvider } from "appwrite";const client = new Client().setEndpoint('https://cloud.appwrite.io/v1').setProject('<PROJECT_ID>');const account = new Account(client);account.createOAuth2Session(OAuthProvider.Apple);

请阅读 Enum SDK 支持公告以获取功能的完整概述,并访问我们的 Enum 文档以开始使用。

自定义令牌登录

在 Init 期间未宣布但最近发布的一项功能是自定义令牌登录。令牌是由 Appwrite 服务器 SDK 创建的短期密钥,可以通过客户端 SDK 交换会话以登录用户。如果您查看过 Magic URL 登录、电子邮件 OTP 登录或电话 (SMS) 登录,您可能已经熟悉令牌。

自定义令牌允许您使用服务器 SDK 为您自己的身份验证实现生成令牌。这允许您使用 Appwrite Functions 或您自己的后端编写自己的身份验证方法。您可以实现用户名和密码登录、验证码保护的身份验证、电话呼叫身份验证等等。自定义令牌还允许您将 Appwrite 与外部身份验证提供商(例如 Auth0、TypingDNA 或用户信任的任何提供商)集成。

创建您的自定义令牌

在 Appwrite 函数或服务器集成中准备好自己的登录流程后,您可以使用用户 API 的创建令牌端点来生成令牌。

// Server-side code
let users = Users(client)let token = try await users.createToken("[USER_ID]")
let secret = token.secret

然后,通过电子邮件、魔术链接、文本或其他方法将此令牌传递给客户端,以便他们可以登录其客户端应用程序。

// Client-side code
let account = Account(client);let session = try await account.createSession(userId: "[USER_ID]",secret: "[SECRET]");

请访问我们的文档以了解更多信息。

开始使用云端 Appwrite 1.5

此版本为您在使用云进行构建时带来了更大的灵活性、安全性和安全性。随着消息传递的推出,我们提供了高要求的产品并满足了开发人员的需求。随着我们不断发展 Appwrite,无论您有什么需求,我们都会努力为您的产品提供最好的后端。我们感谢您的支持,并期待共同建设未来。

要开始使用,请访问我们的文档、YouTube 频道或在 Discord 上获取支持。

  • 文档:https://appwrite.io/docs
  • Discord:https://appwrite.io/discord
  • YouTube:https://www.youtube.com/channel/UCtBJ1v69gm8NgbCju_03Fiw

这篇关于Appwrite 1.5 已在云端发布 - 四月产品更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981252

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华