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

news2024/11/17 4:42:58

在这里插入图片描述

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 Appwrite

let client = Client()
    .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
    .setProject("5df5acd0d48c2")                 // Your project ID
    .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key

let 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 Appwrite

let client = Client()
    .setEndpoint("https://cloud.appwrite.io/v1")  // Your API Endpoint
    .setProject("5df5acd0d48c2")                  // Your project ID
    .setKey("919c2d18fb5d4...a2ae413da83346ad2")  // Your secret API key

let 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 notifications
    UNUserNotificationCenter.current().delegate = self

    let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
    UNUserNotificationCenter.current().requestAuthorization(
        options: authOptions,
        completionHandler: { granted, error in
            DispatchQueue.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 ID

const account = new Account(client);

// Include any account creation/management steps

const 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1665375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频资源汇聚平台常见的几种接入方式

视频资源汇聚平台 视频汇聚平台可以实现海量资源的接入、汇聚、存储、处理、分析、运维等&#xff0c;平台具备轻量化接入能力&#xff0c;可支持多协议方式接入&#xff0c;包括主流标准协议GB28181、RTSP、ONVIF、RTMP、FLV、WEBSOCKET等&#xff0c;以及厂家私有协议与SDK接…

人脸识别之bbox【det_10g】-ncnn(c++)

模型描述 det_10g是insightface 人脸框图和人脸关键点的分类&#xff0c;最终能够得到人脸框图bbox&#xff0c;分值还有人脸五官&#xff08;眼x2、鼻子x1、嘴巴x2&#xff09; 由于我这里没有采用最终结果&#xff0c;通过onnx转换为ncnn&#xff0c;所以后面的步骤结果丢弃…

桌面怎么分类便签 桌面分类便签设置方法

桌面便签&#xff0c;一直是我工作和学习的好帮手。每当灵感闪现或是有待办事项&#xff0c;我都会随手记录在便签上&#xff0c;它们就像我桌面上的小助手&#xff0c;时刻提醒我不要遗漏任何重要事务。 但便签一多&#xff0c;管理就成了问题。一张张五颜六色的便签贴满了我…

autolabor(ROS开发笔记)__1

视频链接&#xff1a;ROS机器人 chapter 1 ROS概述与环境搭建 学习步骤&#xff1a; 1.了解该模块的相关概念 是什么&#xff0c;为什么学&#xff0c;前世今生&#xff0c;发展前景 2.安装官方软件包 具备基本的开发环境&#xff0c;简陋notepad 3.搭建集成开发环境(IDE,Int…

信息检索(35):LEXMAE: LEXICON-BOTTLENECKED PRETRAINING FOR LARGE-SCALE RETRIEVAL

LEXMAE: LEXICON-BOTTLENECKED PRETRAINING FOR LARGE-SCALE RETRIEVAL 标题摘要1 引言2 相关工作3 LEXMAE&#xff1a;词典瓶颈屏蔽自动编码器3.1 语言建模编码器3.2 词典瓶颈模块3.3 弱化掩蔽式解码器3.4 词汇加权检索器的预训练目标和微调 4 实验4.1 主要评估4.2 效率分析与…

[算法][单调栈] [leetcode]316. 去除重复字母

去除重复字母 给你一个字符串 s &#xff0c;请你去除字符串中重复的字母&#xff0c;使得每个字母只出现一次。需保证 返回结果的 字典序最小&#xff08;要求不能打乱其他字符的相对位置&#xff09;。 字典序最小&#xff1a; 考虑字符串 a 与 字符串 b&#xff0c;如果字…

JavaWeb:VsCode创建Web项目

一、Tomcat 先在官网上下载tomcat&#xff0c;解压到自己设定的文件夹。 配置环境变量 path变量配置 系统变量配置 验证服务器开机 二、Maven Maven 是一个基于 Java 的项目管理工具&#xff0c;可以对 Java 项目进行构建、依赖管理&#xff0c;可以自动下载所需要的包&#x…

关于各类软件下载及使用

文章目录 一、VS Code1、下载2、安装3、使用 二、Dev-C1、下载2、安装3、使用 三、VS20191、下载2、安装3、使用 四、IDEA1、下载2、安装3、使用 五、Fiddler1、下载1.1 官网下载1.2 文件下载 2、安装3、使用 一、VS Code 1、下载 2、安装 3、使用 二、Dev-C 1、下载 2、…

【蚂蚁笔试题汇总】2024-05-11-蚂蚁春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新蚂蚁近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f49…

《超越代码生成:Agentic Reasoning探索研发智能化》——【研发效能·创享大会】

【研发效能创享大会】是由IDCF社区独家举办&#xff0c;这个会议主要聚焦于技术和研发管理&#xff0c;旨在为社区成员提供一个学习与交流的平台&#xff0c;分享技术经验&#xff0c;交流行业见解&#xff0c;促进技术合作与创新&#xff0c;发现并培养人才&#xff0c;推动软…

新能源汽车动力电池浸没式冷却方案介绍与未来趋势

前言 新能源汽车的兴起标志着汽车工业的一次革命&#xff0c;其中动力电池的设计与性能成为了关键。浸没式冷却方案作为一种新兴的技术&#xff0c;为动力电池系统提供了有效的散热解决方案&#xff0c;其在未来的发展趋势备受关注。 一 动力电池浸没式冷却方案介绍 首先&am…

攻防世界-web-command_execution

题目&#xff1a; 原理&#xff1a; | 的作用为将前一个命令的结果传递给后一个命令作为输入 &&的作用是前一条命令执行成功时&#xff0c;才执行后一条命令 方法一&#xff1a; 第一步&#xff1a; 1.打开浏览器&#xff0c;在文本框内输入127.0.0.1 | find / -name…

Qt : 一个超高人气的Node编辑器

真的是很不错的Node编辑器开源项目&#xff0c;基于Qt的图元/场景/视图框架&#xff0c;能做点啥不用我多说。 git地址&#xff1a;https://github.com/paceholder/nodeeditor

分布式链路追踪 Zipkin+Sleuth(8)

项目的源码地址 Spring Cloud Alibaba 工程搭建&#xff08;1&#xff09; Spring Cloud Alibaba 工程搭建连接数据库&#xff08;2&#xff09; Spring Cloud Alibaba 集成 nacos 以及整合 Ribbon 与 Feign 实现负载调用&#xff08;3&#xff09; Spring Cloud Alibaba Ribbo…

前端笔记-day02

文章目录 01-无序列表02-有序列表03-定义列表04-表格06-表格-合并单元格07-表单-input08-表单-input占位文本09-表单-单选框10-表单-上传多个文件11-表单-多选框12-表单-下拉菜单13-表单-文本域14-表单-label标签15-表单-按钮16-无语义-span和div17-字体实体19-注册登录页面 01…

每日10亿数据的日志分析系统OOM

背景 一个每日10亿数据的日志清洗系统&#xff0c;主要工作就是从消息队列中消费各种各样的日志&#xff0c;然后对日志进行清洗&#xff0c;例如&#xff1a;用户敏感信息(姓名、手机号、身份证)进行脱敏处理,然后把清理完的数据交付给其他系统使用。 我们项目中&#xff0c;…

有奖调查!!!!!

老子云平台https://www.laozicloud.com/ 如果老子云3D可视化综合服务平台的AMRT展示框架&#xff08;包含SDK、模型优化处理API&#xff09;免费开放给大家&#xff0c;大家愿意。。。。。。。 填写调查问卷&#xff0c;注册老子云账号&#xff0c;调查结束后您将获得100元平台…

2024HW Linux应急响应基础学习

首先展示关于Linux的关键目录&#xff0c;这是应急响应查看的关键&#xff1a; 常用命令 top //查看进程资源的占用情况 ps -aux //查看进程 直接写ps aux也可以 netstat -antpl //查看网络连接 ls -alh /proc/pid //查看某个pid对应的可执行程序 pid记得修改 lsof /…

检测服务器环境,实现快速部署。适用于CRMEB_PRO/多店

运行效果如图&#xff1a; 最近被好多人问&#xff0c;本来运行的好好的&#xff0c;突然swoole就启动不了了。 本工具为爱发电&#xff0c;如果工具正好解决了您的需求。我会很开心 代码如下&#xff1a; """本脚本为爱发电by:网前雨刮器 """…

共享云桌面如何助力企业信息化和数字化?

随着科技的飞速发展&#xff0c;信息化和数字化已经成为企业转型的重要方向。共享云桌面作为一种新兴的信息化工具&#xff0c;正以其独特的优势助力企业实现信息化和数字化的目标。本文将详细探讨共享云桌面如何助力企业信息化和数字化的过程&#xff0c;以及它所带来的效益。…